Проверьте, воспроизводится ли звук в приложении
Я работаю над этим уже 3 часа и не могу найти решение. Я использую стороннюю библиотеку, которая воспроизводит звук для меня, я предполагаю, что они используют AVAudioPlayer playSound, и я хочу знать, есть ли способ узнать, воспроизводит ли мое приложение звук.
У меня нет доступа к сторонней библиотеке, и собственность для воспроизведения этого звука является частной. Я пробовал AVAudioSession, но есть только два разных способа проверить, воспроизводится ли звук, и, к сожалению, он может проверять только звук, исходящий из-за пределов приложения.
Спасибо
1 ответ
//Register self for remote notifications of play/pause toggle
//(i.e. when user backgrounds app, double-taps home,
//then swipes right to reveal multimedia control buttons).
//See MyWindow.h for more info.
Add this Notification Center where to detect playback
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(toggling_Playback) name:@"TogglePlayPause" object:nil];
- (void)toggling_Playback {
(self.player.isPlaying ? [self.player pause] : [self.player play]);
}
AVAudioPlayerDelegate protocol methods:
- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)p successfully:(BOOL)flag {
[self.player stop];
[self ffButtonWasPressed];
}
- (void)audioPlayerBeginInterruption:(AVAudioPlayer *)player {
//In real app, may persist this to NSUserDefaults to act on after interruption ends
//or app resumes.
NSLog(@"Interruption began");
}
//Note: this form is only for iOS >= 4.0. See docs for pre-4.0.
- (void)audioPlayerEndInterruption:(AVAudioPlayer *)player withFlags:(NSUInteger)flags {
NSLog(@"Interruption ended");
//restart playback if flag indicates we should resume
if (flags & AVAudioSessionInterruptionFlags_ShouldResume) {
[self toggling_Playback];
}
}
Если у вас все еще есть какие-либо сомнения: просим обратиться по этой ссылке http://www.allappsdevelopers.com/TopicDetail.aspx?TopicID=99cb8bf0-91ac-4c41-a903-2dc744444b7a