Android 如何使用exo播放器播放mp3
请帮助我,以下代码不起作用:Android 如何使用exo播放器播放mp3,android,mp3,exoplayer,Android,Mp3,Exoplayer,请帮助我,以下代码不起作用: // 1. Instantiate the player. mPlayer = ExoPlayer.Factory.newInstance(1); // 2. Construct renderer. Allocator allocator = new DefaultAllocator(1024); DataSource dataSource = new DefaultUriDataSource(self, null, "use
// 1. Instantiate the player.
mPlayer = ExoPlayer.Factory.newInstance(1);
// 2. Construct renderer.
Allocator allocator = new DefaultAllocator(1024);
DataSource dataSource = new DefaultUriDataSource(self, null, "userAgent");
ExtractorSampleSource sampleSource = new ExtractorSampleSource(Uri.parse(mSongObj.getUrl()), dataSource, allocator, 1 * 1024);
MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);
// 3. Inject the renderer through prepare.
mPlayer.prepare(audioRenderer);
// 4. Start playback.
mPlayer.setPlayWhenReady(true);
// Don’t forget to release when done!
mPlayer.release();
非常感谢从未使用过ExoPlayer,但最后一行
mPlayer.release()代码>似乎是代码不起作用的可能原因之一。你不觉得释放你刚才要求播放声音的播放器对象很奇怪吗?谢谢Roberto,但是如果我删除mPlayer.release(),我会得到这个错误:内部轨迹渲染器错误。com.google.android.exoplayer.ExoPlaybackException:com.google.android.exoplayer.MediaCodecUtil$DecoderQueryException:无法在com.google.android.exoplayer.SampleSourceTrackRenderer.doPrepare上查询底层媒体编解码器(SampleSourceTrackRenderer.java:78)Roberto是对的,调用mPlayer.release()将取消播放。能否从doPrepare()提供有关错误的更多详细信息?堆栈跟踪,错误详细信息。还有,这是在什么设备上运行的,你能提供mp3文件吗?这个mp3在其他应用程序的同一台设备上播放吗?@ChrisJ:我用的是LG LTE(4.1.2)。mp3文件正在使用MediaPlayer播放。如上所述,如果删除mPlayer.release()方法,则会出现错误:(请提供任何建议。@NaPro release()将取消播放。能否提供有关错误或mp3文件本身的详细信息?