Tôi đang gặp sự cố khi sử dụng AVAudioPlayer nơi tôi muốn đặt lại trình phát nếu nó hiện đang phát và phát lại.Cài đặt AVAudioPlayer hiện đang phát âm thanh và phát nó từ đầu
tôi thử như sau không có may mắn:
Âm thanh đóng một lần nhưng sau đó lần thứ hai tôi chọn nút nó dừng lại âm thanh, lần thứ ba bắt đầu âm thanh lên một lần nữa.
//Stop the player and restart it
if (player.playing) {
NSLog(@"Reset sound: %@", selectedSound);
[player stop];
[player play];
} else {
NSLog(@"playSound: %@", selectedSound);
[player play];
}
Tôi cũng đã thử sử dụng player.currentTime = 0 cho biết sẽ đặt lại trình phát, không hoạt động, tôi cũng đã thử đặt lại currentTime = 0 và sau đó gọi phát không hoạt động.
//Stop the player and restart it
if (player.playing) {
NSLog(@"Reset sound: %@", selectedSound);
player.currentTime = 0;
[player play];
} else {
NSLog(@"playSound: %@", selectedSound);
[player play];
}
FWIW, tôi đã nhìn thấy rằng chỉ cần thiết lập currentTime bằng không là đủ. Với phương pháp được mô tả ở đây, tôi thấy âm thanh từ chối phát sau khi thực hiện một vài lần liên tiếp. – Plumenator