Rob*_*ran 9 objective-c ios apple-watch watchkit
我正在尝试使用WKAudioFilePlayer通过watchkit扩展播放声音但是没有声音播放.我正在使用触觉反馈代码作为一种调试,以确保它执行它(它做).作为旁注,静音未打开且文件名正确.
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];
Run Code Online (Sandbox Code Playgroud)
我实现如下,它工作正常.(对不起,这是Swift)
1)定义玩家对象的属性
var player: WKAudioFilePlayer!
Run Code Online (Sandbox Code Playgroud)
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)
}
Run Code Online (Sandbox Code Playgroud)
3)如果玩家准备好玩,则播放.
@IBAction func playBtnTapped() {
switch player.status {
case .ReadyToPlay:
player.play()
case .Failed:
print("failed")
case .Unknown:
print("unknown")
}
}
Run Code Online (Sandbox Code Playgroud)
此外,它还需要将蓝牙耳机与手表连接起来.
| 归档时间: |
|
| 查看次数: |
3489 次 |
| 最近记录: |