MediaPlayer类的seekTo有助于修复起点。如何设定终点? MediaPlayer类中似乎没有任何方法可用。例如,我想只播放10秒总媒体的3到6秒的部分。我确实看到了设置睡眠定时器和中断MediaPlayer的解决方案。还有其他更好的解决方案吗?
答案 0 :(得分:0)
你可以使用睡眠定时器,但是使用单独的线程可能更容易。这样您就不必担心UI线程正在做什么,或者中断它。
只需在线程循环中使用getCurrentPosition()
即可监控播放时间。当它到达目标“结束”时间时,只需stop()
它。在线程中添加睡眠延迟也是一个好主意。你不需要像循环一样快地检查它,也许每秒5-10次应该没问题。
答案 1 :(得分:0)
如果您找不到答案,可以尝试使用打开html5-JS网站的webview解决方案。
这是一个不完整的快速示例。 (使用jsfiddle代码)
<audio id="audio2"
preload="auto"
src="http://upload.wikimedia.org/wikipedia/commons/a/a9/Tromboon-sample.ogg" >
<p>Your browser does not support the audio element</p>
</audio>
<script>
myAudio=document.getElementById('audio2');
myAudio.addEventListener('canplaythrough', function() {
this.currentTime = 12;
this.play();
});
</script>
From this Stackoverflow question
这不是最好的解决方案,但可能对某些事情有帮助。
祝你好运!