我在使用 AVAudioPlayer 时遇到问题,我想重置一个播放器,如果它正在播放并重新播放。
我试着以下没有运气:
声音播放一次,但第二次我选择按钮停止声音,第三次再次启动声音。
//Stop the player and restart it
if (player.playing) {
NSLog(@"Reset sound: %@", selectedSound);
[player stop];
[player play];
} else {
NSLog(@"playSound: %@", selectedSound);
[player play];
}
我也试过使用 player.currentTime = 0 表示会重置播放器,但是没有用,我也尝试重置 currentTime = 0 然后调用不起作用的播放。
//Stop the player and restart it
if (player.playing) {
NSLog(@"Reset sound: %@", selectedSound);
player.currentTime = 0;
[player play];
} else {
NSLog(@"playSound: %@", selectedSound);
[player play];
}
3 回答
根据您的情况,我会尝试以下方法
如果你要立即再次播放声音,我会建议暂停而不是停止。呼叫停止“停止播放并取消播放所需的设置。”
Swift 示例:
如上所示,如果您希望再次播放声音,则应避免停止禁用 AVAudioPlayer 实例,而只是重置其正在播放的位置。所以,不要使用 stop()或 pause(),但作为 Plumenator 提到,只需发出.currentTime=0。所以在你的情况下,你只需: