我想用MediaPlayer播放设备铃声,但似乎是元数据标签
ANDROID_LOOP = true
设置MediaPlayer忽略方法 setLooping
的调用mMediaPlayer.setLooping(false);
并在任何情况下循环音频。此外,未调用onCompletionListener方法。
我注意到,即使是否启用了循环,即使是像这种标签的ES媒体播放器循环音频这样的音频应用设置为真。
所以我的问题是,如果我可以
围绕铃声出现了这个问题,但它当然不是铃声特有的。有趣的是,我发现如何播放铃声的教程都设置了mMediaPlayer.setLooping(true);所以他们似乎不必处理这个问题...
由于
答案 0 :(得分:2)
可能不是一个令人满意的答案,但工程师似乎并不倾向于改变ogg文件的MediaPlayer
和元数据标签ANDROID_LOOP=true
的行为。请参阅问题:http://code.google.com/p/android/issues/detail?id=1314
至于临时修改标签,我不知道你怎么做。
我没有测试过,但我相信其他声音格式没有表现出这种行为(例如mp3或wav)。也许您可以将ogg文件转换为不同的格式并将它们保存为临时数据(可能有助于此:Java - Convert ogg to mp3)这当然看起来像回放一些文件需要很多开销,但至少它们是通常是小文件。