通过 iPhone 播放 Apple Watch 上的声音

3
我正在尝试将声效加入我正在开发的苹果手表应用程序(使用Objective-C编写),但是我很失望地发现第三方应用程序不被允许直接从手表播放声音。作为一种解决方法,我正在寻找一种通过配对设备的扬声器播放指定声音的方法。我在这里找到了一个这样的线程:Play sound from Apple Watch speaker,然而验证答案中的链接此时似乎已经失效。简而言之,我可以如何通过其配对的iPhone扬声器播放由苹果手表触发的声效?另外,是否可能使设备从手表震动?任何帮助都将不胜感激。
2个回答

2
很遗憾,AppleWatch不允许开发者播放或录制音频。你可以从iPhone扬声器播放声音,就像模拟器一样。如果你在WatchKit扩展上实现AVAudioPlayer,你将听到Mac上的声音,因为iPhone模拟器正在为你播放。
来自Apple开发者论坛的内容:
"由于simplegames展示的代码运行在iPhone模拟器上,而不是手表模拟器上,而且手表模拟器上的按钮按下会导致iPhone模拟器上的代码激活音频播放器,所以你的Mac正在模拟来自iPhone的声音。"
"不,使用WatchKit在Apple Watch上无法播放声音。"

应用程序可以录制音频,就像SimpleMic、MP3 Recorder和其他应用一样。 - Dan Rosenstark

0

我拿到手表后就像这样播放音频。 但是它确实呈现了媒体播放器。 这不是理想的,但它可以工作。

#import <Foundation/Foundation.h>

NSURL *yourURL = [myBundle URLForResource:@"yourAudioFile" withExtension:@"wav"];

NSDictionary *options = @{WKMediaPlayerControllerOptionsAutoplayKey : @YES};

[self presentMediaPlayerControllerWithURL:yourURL options:options completion:^(BOOL didPlayToEnd, NSTimeInterval endTime, NSError * __nullable error) {if (error)NSLog(@"Error: %@", [error description]);}];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接