【发布时间】:2012-10-11 07:52:13
【问题描述】:
我想用 MediaPlayer 播放设备铃声,但元数据标记时似乎
ANDROID_LOOP = true
已设置 MediaPlayer 忽略了方法 setLooping
的调用mMediaPlayer.setLooping(false);
并在任何情况下循环播放音频。也不会调用 onCompletionListener 方法。
我注意到,即使是像 ES Media Player 这样的音频应用程序也会循环使用此标记设置为 true 的音频,无论是否启用循环。
所以我的问题是我是否可以
- 让 MediaPlayer 忽略这个标签
- 临时修改标签,让MediaPlayer不循环播放音频
这个问题是围绕铃声提出的,但它当然不是特定于铃声的。有趣的是,我找到的有关如何播放铃声的教程都设置了 mMediaPlayer.setLooping(true);这样他们就不必处理这个问题了……
谢谢
【问题讨论】:
-
FWIW,即使是股票媒体选择器(从 Android 设置活动中选择铃声时)似乎也会循环播放铃声。除了以某种方式对其进行编辑(不知道如何在手机上进行此操作)之外,这似乎不是一种忽略元数据标签的方法。
-
更多信息:code.google.com/p/android/issues/detail?id=1314 他们似乎并不想改变这种行为。
标签: android android-mediaplayer