2009-07-21 18 views
12

Şu anda oynatılıyor ve oynatılıyorsa bir oynatıcıyı sıfırlamak istediğiniz yerde AVAudioPlayer kullanarak bir sorun yaşıyorum.AVAudioPlayer şu anda ses çalmayı sıfırlıyor ve çalmaya başlıyor

hiçbir şans ile aşağıdakileri deneyin:

ses kez oynar ama sonra o sesi durur düğmesini seçin ikinci kez üçüncü kez tekrar sesi başlar. Ben de bu işe yaramadı oyuncu, reset belirtirken player.currentTime = 0 kullanılarak denedim

//Stop the player and restart it 
if (player.playing) { 
    NSLog(@"Reset sound: %@", selectedSound); 
    [player stop]; 
    [player play]; 
} else { 
    NSLog(@"playSound: %@", selectedSound); 
    [player play];  
} 

, ben de CurrentTime = 0 sıfırlama ve sonra işe yaramadı oyun arama çalıştı.

//Stop the player and restart it 
if (player.playing) { 
    NSLog(@"Reset sound: %@", selectedSound); 
    player.currentTime = 0; 
    [player play]; 
} else { 
    NSLog(@"playSound: %@", selectedSound); 
    [player play];  
} 

cevap

33

durumunuza için yerine durağının hemen tekrar ses çalma yapacaksanız

//Pause the player and restart it 
if (player.playing) { 
    NSLog(@"Reset sound: %@", selectedSound); 
    [player pause]; 
} 

player.currentTime = 0; 
[player play]; 

takip öneririm duraklama çalışacaktı. Çağrı durdurma "Oynatmayı durdurur ve oynatma için gereken ayarları kaldırır."

+6

FWIW, sadece sıfıra CurrentTime ayarı yeterli olduğunu gördük. Burada açıklanan yöntemle, sesin art arda birkaç kez yaptıktan sonra oynamayı reddettiğini görüyorum. – Plumenator

0

Swift örnek:

player.currentTime = 0.0;