AVAudioPlayer - кнопка отключения звука - PullRequest
1 голос
/ 28 декабря 2011

Я искал этот ответ и не нашел его.

У меня есть музыка, которая играет в фоновом режиме при запуске приложения для iPhone.Но я хочу кнопку, чтобы пользователи могли отключить музыку.В приложении есть звуковые эффекты, поэтому сдвиг кнопки отключения звука на боковой панели устройства не обрезает ее.

Это текущий код, который у меня есть для AVAudioPlayer.* Может кто-нибудь помочь мне с кодом, необходимым для простой кнопки, чтобы просто остановить музыку и запустить ее снова.

Спасибо заранее.

Ответы [ 2 ]

0 голосов
/ 28 декабря 2011

В ответе легче отобразить код:

-(IBAction) playerPlay:(id)sender {

    if([player isPlaying]) {
        [player stop]; 
    }
    if(![player isPlaying]) {
        [player play]; 
    }

}

Я объясню: Метод [player isPlaying] проверяет, воспроизводится ли звук. Если воспроизводится звук, все в скобках выполняется (в этом случае звук перестает воспроизводиться).

Из-за "!" в! [player isPlaying], метод сделан противоположным тому, что обычно. Это означает, что если проигрыватель НЕ играет, все в скобках выполняется (в этой ситуации начинает воспроизводиться звук).

Все это заключено в IBAction, поэтому оно выполняется при нажатии кнопки.

Для дальнейшего использования правильный формат для оператора If в Objective-C:

if(thing to check for) {
things that happen if the thing that is check for is correct;
}

Слово "тогда" фактически никогда не используется, но это то же самое, что и в скобках. Надеюсь, это поможет!

0 голосов
/ 28 декабря 2011

Поместите этот код в файл viewcontroller.h:

-(IBAction) btnStop:(id)sender;

Поместите этот код в файл viewcontroller.m:

-(IBAction) btnStop:(id)sender { 
    [TheAudio stop];
    //Whatever else you want to do when the audio is stopped
}

В построителе интерфейса подключите кнопку кэто действие, поэтому при щелчке это действие будет вызвано.Это должно остановить музыку.

...