android MediaPlayer java.io.IOException: Prepare failed.: status=0x1 解决

本文介绍了一种解决网络音乐播放失败的方法,通过规范操作、注册音频策略并设置正确的音频类型来避免播放错误。同时,提供了具体的代码实现示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



我试的是网络音乐,本地音乐不存在该问题,一直报这个错( java.io.IOException: Prepare failed.: status=0x1),后来发现主要原因是你一直找到的网络资源有问题,后来我在百度音乐里面找了个音乐,然后查看源码找到它的链接,试了下ok了,首先我要说明你一定要规范,一定要注册音频策略,然后再设置mediaPlayer的音频类型


        mAudioPolicy = new DLSAudioPolicyManager(OnlineMp3Activity.this);
		mAudioPolicy.register(mPackageName, AudioManager.STREAM_IVOKA, mNotifier);
		mAudioPolicy.play(AudioManager.STREAM_MUSIC);
		
        mediaPlayer=new MediaPlayer();
			mediaPlayer.setDataSource(videoUrl);
    		mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
			mediaPlayer.setOnErrorListener(new MediaPlayer.OnErrorListener() {
				
				@Override
				public boolean onError(MediaPlayer mp, int what, int extra) {
					mp.stop();
					mp.release();
					
//					mAudioPolicy.stop();
//					mAudioPolicy.unregister();
					Log.i(TAG,"Error on Listener,what:"+what+"extra:"+extra);
					return false;
				}
			});
			
			mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener(){

				@Override
				public void onCompletion(MediaPlayer arg0) {
					
//					mAudioPolicy.stop();
//					mAudioPolicy.unregister();
					
					arg0.stop();
					arg0.release();
					Log.i(TAG,"mediaPlayer Listener completed");
				}
				
			});
			
	   		mediaPlayer.prepare();
    		mediaPlayer.start();


strVideoURL="http://zhangmenshiting.baidu.com/data2/music/87894333/87894333.mp3?xcode=20bacaac2d7fe763ca7aaed2810f0415023c754d8afb3d4d";



找资源,就是在google浏览器上面查看源码



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值