Play sound from Apple Watch speaker Play sound from Apple Watch speaker objective-c objective-c

Play sound from Apple Watch speaker


This is now possible as of watchOS 2 using WKAudioFilePlayer or WKInterfaceMovie.

NSURL *assetURL = [[NSBundle mainBundle] URLForResource:@"file" withExtension:@"wav"];

WKAudioFilePlayer example:

WKAudioFileAsset *asset = [WKAudioFileAsset assetWithURL:assetURL];WKAudioFilePlayerItem *playerItem = [WKAudioFilePlayerItem playerItemWithAsset:asset];WKAudioFilePlayer *audioFilePlayer = [WKAudioFilePlayer playerWithPlayerItem:playerItem];[audioFilePlayer play];

WKInterfaceMovie example:

[self presentMediaPlayerControllerWithURL:assetURL options:nil completion:nil];


import AVFoundationvar player: AVAudioPlayer?if let path = Bundle.main.path(forResource: "siren", ofType: "wav") {        let fileUrl = URL(fileURLWithPath: path)        do{            try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)            try AVAudioSession.sharedInstance().setActive(true)            player = try AVAudioPlayer(contentsOf: fileUrl)            guard let player = player else { return }            player.play()        }        catch        {        }    }

I've used this to play a custom sound from the apple watch(4.3) speaker and worked just fine.Don't forget to set the audio file target membership to the watch kit.


It is not possible to play sound out of the Apple Watch's speaker, but you can trigger playing a sound file on the iPhone, here is thread about it