大佬教程收集整理的这篇文章主要介绍了(Android MediaPlayer)如果MediaPlayer.create()隐式调用prepare(),我应该如何调用setAudioStreamType()?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我为我的onStartCommand()函数提供以下服务:
MediaPlayer mMP; @Override public int onStartCommand(Intent intent,int flags,int startId) { try { mMP = MediaPlayer.create(this,R.raw.alarm); mMP.setAudioStreamType(AudioManager.STREAM_ALARM); mMP.setLooping(true); //mMP.prepare(); commented out since prepare() is called in create } catch (Exception e) { e.printStackTrace(); } if (mMP != null) mMP.start(); return START_STICKY; }
我的问题是,通过调用setAudioStreamType(),MediaPlayer从不播放音频.如果我评论该行,音频播放.
有了行,我得到以下运行时错误:
有些研究(现在我找不到链接)告诉我,在调用prepare()之后,setAudioStreamType()不能被调用,而create()隐含地调用prepare().
编辑:
Resources res = getResources(); AssetFileDescriptor afd = res.openRawResourceFd(R.raw.alarm); mp.reset(); mp.setAudioStreamType(AudioManager.STREAM_ALARM); mp.setLooping(true); mp.setDataSource(afd.getFileDescriptor(),afd.getStartOffset(),afd.getLength()); mp.prepare(); mp.start();
以上是大佬教程为你收集整理的(Android MediaPlayer)如果MediaPlayer.create()隐式调用prepare(),我应该如何调用setAudioStreamType()?全部内容,希望文章能够帮你解决(Android MediaPlayer)如果MediaPlayer.create()隐式调用prepare(),我应该如何调用setAudioStreamType()?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。