Ich benutze die systemMusicPlayer
, um Songs in einer App abzuspielen.Anhalten der Audiodatei zum Abspielen einer anderen Audiodatei
Wenn ein Benutzer noiseButton
auf der Ansicht Aktueller drückt, wird er pausiert die systemMusicPlayer
Song Audiodatei für 10 Sekunden, um die noiseButton
Audiodatei zu spielen und dann nach oben auf der systemMusicPlayer
Song Audiodatei auswählen zurück.
Ich bin in der Lage, die systemMusicPlayer
Song Audio-Datei zu erhalten zu pausieren und dann abholen zurück nach 10 Sekunden, aber ich bin nicht in der Lage, die noiseButton
zu spielen den Klang in den 10 Sekunden zu erhalten.
- Ich weiß, dass die
noiseButton
Audiodatei - Ich bin
NSLog
geht vor und nach der Methode funktioniert, die dienoiseButton
Datei
Ich bin nicht sicher spielen, was ich fehle?
Hier ist mein Code:
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
musicPlayer = [MPMusicPlayerController systemMusicPlayer];
[self registerMediaPlayerNotifications];
// Construct URL to sound file
NSString *path = [NSString stringWithFormat:@"%@/background-music-aac.caf", [[NSBundle mainBundle] resourcePath]];
NSURL *soundUrl = [NSURL fileURLWithPath:path];
// Create audio player object and initialize with URL to sound
_audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundUrl error:nil];
}
- (void)willPlayClip {
[NSTimer scheduledTimerWithTimeInterval:10.0
target:self
selector:@selector(willPlayMusicInTenSeconds:)
userInfo:nil
repeats:NO];
}
- (void)willPlayMusicInTenSeconds:(NSTimer *)timer {
NSLog(@"Get ready to Play noise sound");
[_audioPlayer play];
NSLog(@"Play noise sound");
[musicPlayer play];
NSLog(@"Start playing again");
}
Und der Code innerhalb der noiseButton
für, wenn er gedrückt wird:
if ([musicPlayer playbackState] == MPMusicPlaybackStatePlaying) {
[musicPlayer pause];
NSLog(@"Paused!");
[self willPlayClip];
} else {
NSLog(@"Already paused");
}
Süße Ich werde das heute überprüfen – SRMR