web-dev-qa-db-fra.com

Reproduire le son depuis le haut-parleur Apple Watch

Existe-t-il un moyen de reproduire le son du haut-parleur de l'Apple Watch? Je n'ai pas trouvé de documentation en ligne.

12
frenchie4111

Ceci est maintenant possible à partir de watchOS 2 avec WKAudioFilePlayer ou WKInterfaceMovie.

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

WKAudioFilePlayer exemple:

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

WKInterfaceMovie exemple:

[self presentMediaPlayerControllerWithURL:assetURL options:nil completion:nil];
17
Ric Santos

Il n'est pas possible de reproduire le son par le haut-parleur de l'Apple Watch, mais vous pouvez déclencher la lecture d'un fichier son sur l'iPhone. Voici thread

3
sheraza

Pour WatchOS3, la réponse à la question initiale est WKInterfaceInlineMovie https://developer.Apple.com/reference/watchkit/wkinterfaceinlinemovie

Vous pouvez masquer le widget pour qu'il ne modifie pas la conception de votre interface. Il lit les fichiers audio via le haut-parleur de la montre si aucun haut-parleur Bluetooth n'est connecté.

3
ghr
  • presentMediaPlayerControllerWithURL: options: complétion: (Nouveauté de watchOS 2.0)

URL L'URL du fichier multimédia que vous souhaitez lire. L'URL doit spécifier un fichier. le média diffusé n'est pas pris en charge. Le fichier peut contenir de l'audio, de la vidéo ou les deux.

Si vous spécifiez une URL pour un fichier sur un serveur distant, cette méthode télécharge d'abord le fichier et affiche un indicateur de progression indiquant la progression de l'opération. WatchKit utilisant App Transport Security (ATS) lors du téléchargement de fichiers à partir d'un serveur Web, le fichier doit être sur un serveur sécurisé et l'URL doit utiliser le schéma https. Si votre serveur ne prend pas en charge la sécurité de niveau ATS, téléchargez le fichier vous-même avant de le lire.

Utilisez sharedcontainer, watch extensions, pour stocker le fichier.

Tout fichier audio que vous lisez en utilisant cette méthode est routé vers un périphérique audio Bluetooth couplé, le cas échéant. Si aucun périphérique audio Bluetooth n'est disponible, l'audio est acheminé vers le haut-parleur Apple Watch.

3
zeAttle
import AVFoundation
var 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
        {

        }

    }

Je l'ai utilisé pour reproduire un son personnalisé à partir du haut-parleur de la montre Apple (4.3) et j'ai très bien fonctionné. N'oubliez pas de définir l'appartenance cible du fichier audio au kit de surveillance.

0
Rafael Bonini