Ios 在Apple Watchkit中播放声音
我正在尝试使用WKAudioFilePlayer通过watchkit扩展播放声音,但是没有播放声音。我使用触觉反馈代码作为一种调试,以确保它执行它(它确实执行)。作为旁注,静音未打开且文件名正确Ios 在Apple Watchkit中播放声音,ios,objective-c,watchkit,apple-watch,Ios,Objective C,Watchkit,Apple Watch,我正在尝试使用WKAudioFilePlayer通过watchkit扩展播放声音,但是没有播放声音。我使用触觉反馈代码作为一种调试,以确保它执行它(它确实执行)。作为旁注,静音未打开且文件名正确 NSURL *falcon = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"falcon"
NSURL *falcon = [NSURL fileURLWithPath:[[NSBundle mainBundle]
pathForResource:@"falcon"
ofType:@"mp3"]];
WKAudioFileAsset *asset = [WKAudioFileAsset assetWithURL:falcon];
WKAudioFilePlayerItem *sound = [WKAudioFilePlayerItem playerItemWithAsset:asset];
audioPlayer = [WKAudioFilePlayer playerWithPlayerItem:sound];
[audioPlayer play];
WKInterfaceDevice *device = [WKInterfaceDevice currentDevice];
[device playHaptic:WKHapticTypeClick];
我实现了如下,它工作得很好。(对不起,是斯威夫特) 1) 为播放器对象定义属性
var player: WKAudioFilePlayer!
2) 当资源和玩家醒来时设置资源和玩家
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
let filePath = NSBundle.mainBundle().pathForResource("se_tap", ofType: "m4a")!
let fileUrl = NSURL.fileURLWithPath(filePath)
let asset = WKAudioFileAsset(URL: fileUrl)
let playerItem = WKAudioFilePlayerItem(asset: asset)
player = WKAudioFilePlayer(playerItem: playerItem)
}
3) 播放如果玩家准备好播放
@IBAction func playBtnTapped() {
switch player.status {
case .ReadyToPlay:
player.play()
case .Failed:
print("failed")
case .Unknown:
print("unknown")
}
}
此外,它还需要将蓝牙耳机连接到监视。文件目标成员资格是否设置为您的监视套件扩展名?如果将成员资格设置为你的应用程序,它将不会播放。我不确定如何查找,但是该文件已复制到watchkit扩展名中。我也无法调试它,beta 1似乎在加载调试会话时有问题。我在Obj-c中也做了同样的安排。当我使用模拟器时,蓝牙耳机也会收到同样的通知,但是当在实际的手表上运行时,它会使应用程序崩溃,几秒钟后关闭。似乎这就是播放音乐的方法,我只是想在手表上播放一个定制的通知声音。我试过了,声音只播放了一次。它只能与蓝牙耳机配合使用。请问,如何在手表应用程序上实现流媒体广播播放?@Markus您能找到如何播放流媒体手表应用程序吗