2015-07-06 1 views
0

Я пишу приложение, которое играет музыку. Тем не менее, я хотел бы сделать так, чтобы музыка моего приложения приостанавливалась при воспроизведении другой музыки, такой как музыка из iTunes. Как бы я это сделал? Вот мой код:Отключить мое приложение, когда другие приложения воспроизводят музыку в Swift

var alertSound = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("Ambler", ofType: "mp3")!) 

    // Removed deprecated use of AVAudioSessionDelegate protocol 
    AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryAmbient, error: nil) 
    AVAudioSession.sharedInstance().setActive(true, error: nil) 

    var error:NSError? 
    audioPlayer = AVAudioPlayer(contentsOfURL: alertSound, error: &error) 
    audioPlayer.prepareToPlay() 
    audioPlayer.play() 
    audioPlayer.numberOfLoops = -1 

ответ

0

Чтобы сделать это, я полагаю, вы будете нуждаться, чтобы проверить, если музыкальный плеер играет, вот как я хотел бы сделать, что в Objective-C.

Первый #import <MediaPlayer/MediaPlayer.h> и добавьте библиотеку к этапам сборки.

- (BOOL)isPlaying 
{ 
    MPMusicPlayerController *musicPlayer = [MPMusicPlayerController systemMusicPlayer]; 
    if (musicPlayer.playbackState == MPMusicPlaybackStatePlaying) { 
     return YES; 
    } 
    return NO; 
} 

При инициализации musicPlayer это может вызвать музыка, чтобы остановить, если это так, я бы смотреть в

+ (MPMusicPlayerController *)applicationMusicPlayer

Swift

func isPlaying() -> Bool { 

    let musicPlayer = MPMusicPlayerController.systemMusicPlayer() 
    if musicPlayer.playbackState == MPMusicPlaybackState.Playing { 
     return true 
    } 
    return false 
} 
+0

Как будет идти о преобразовании этого Свифта ? – kriskendall99

+2

@ kriskendall99 Если вы знаете, что это вообще не так, это не должно быть сложно, я никогда не писал приложение в Swift, но я смог это сделать, проверьте обновленный ответ. – Clip

 Смежные вопросы

  • Нет связанных вопросов^_^