我有一个帧动画(Animation Drawable),它应该与音频(MediaPlayer)同步运行。
当我暂停我的 Activity 类时(例如,当我按下设备的主页按钮时),我会暂停音频(mediaplayer.pause())并停止动画(因为我无法找到暂停它的方法)。当我恢复我的活动时,我调用 mediaplayer.start() 并从暂停的地方开始。然后,我调用 frameAnimation.start 并再次从头开始并继续完成循环,即使在媒体播放器完成播放后也是如此。结果,frameAnimation 和 mediaPlayer 不同步。我该怎么办?我是android编程的新手。请帮忙。
我的帧动画 xml 类似于
android:id="@+id/selected" android:oneshot="true">
<item android:drawable="@drawable/bird1" android:duration="750"/>
<item android:drawable="@drawable/bird2" android:duration="750"/>
我的 onResume() 是
protected void onResume() {
mediaplayer.start();
frameAnimation.start();
If(!mediaplayer.isPlaying()&&frameAnimation.isRunnng()){
frameAnimation.stop();
}
显然,当媒体播放器正在播放时,if 语句永远不会被执行。我还可以做些什么?我完全不知所措。