swift – 开始录制后Apple Watch录制音频界面崩溃

swift – 开始录制后Apple Watch录制音频界面崩溃,第1张

概述我正在尝试使用presentAudioRecorderControllerWithOutputURL方法使用Apple Watch录制音频. 我正在使用Xcode 7.0 beta 5,iOS9 beta,WatchOS 2 beta& Swift2. 它在模拟器上运行良好.但是,一旦在实际设备上,它会在调用方法时崩溃. 这是我目前的代码: @IBAction func onClickSpeech 我正在尝试使用presentAudioRecorderControllerWithOutputURL方法使用Apple Watch录制音频.

我正在使用Xcode 7.0 beta 5,iOS9 beta,WatchOS 2 beta& Swift2.

它在模拟器上运行良好.但是,一旦在实际设备上,它会在调用方法时崩溃.

这是我目前的代码:

@IBAction func onClickSpeech() {    let filePaths = NSSearchPathForDirectorIEsInDomains(        NSSearchPathDirectory.documentDirectory,NSSearchPathDomainMask.UserDomainMask,true)    let documentDir = filePaths.first!    let recsoundURL = documentDir + "/record.m4a"    let nsUrl = NSURL.fileURLWithPath(recsoundURL)    let audioOptions = [        WKAudioRecorderControllerOptionsActionTitleKey  : "Recording Title",WKAudioRecorderControllerOptionsAlwaysShowActionTitleKey : false,WKAudioRecorderControllerOptionsautorecordKey: true,WKAudioRecorderControllerOptionsMaximumDurationKey: NSTimeInterval.infinity    ]    presentAudioRecorderControllerWithOutputURL(        nsUrl,preset: WKAudioRecorderPreset.NarrowBandSpeech,options: audioOptions as [NSObject : AnyObject]) { (dIDSave,error) -> VoID in            print("dIDSave:\(dIDSave),error:\(error)")    }}

recsoundURL是一个有效的路径.

我在设备日志中遇到的错误:

Aug 18 16:42:12 Sennetts-AppleWatch mediaserverd[283] <Error>: 16:42:12.532 EXCEPTION: [0x1f1ac000] >va> 565: kAudioHarDWareUnkNownPropertyError: "AudioObjectHasProperty([goin/glob/0]) returned false."Aug 18 16:42:12 Sennetts-AppleWatch mediaserverd[283] <Error>: 16:42:12.555 ERROR:    [0x1f1ac000] >va> 240: CAException caught by ExceptionbarrIEr: 2003332927.

任何想法都会非常感激,因为我无法想出这一点.谢谢.

解决方法 请看下面的代码(使用 app group’s共享文件夹)

@IBAction func recordAudio() {    let filename = "audiofile.wav"    let fileManager = NSfileManager.defaultManager()    let container = fileManager.containerURLForSecurityApplicationGroupIDentifIEr(Constants.kAppGroupID)    self.saveUrl = container?.URLByAppendingPathComponent(filename)    let duration = NSTimeInterval(120)    let recordOptions = [WKAudioRecorderControllerOptionsMaximumDurationKey : duration]    presentAudioRecorderControllerWithOutputURL(self.saveUrl!,preset: .WIDeBandSpeech,options: recordOptions,completion: { saved,error in            if let err = error {                print(err.description)            }            if saved {                // Write code to execute when audio file gets saved.            }    })}
总结

以上是内存溢出为你收集整理的swift – 开始录制后Apple Watch录制音频界面崩溃全部内容,希望文章能够帮你解决swift – 开始录制后Apple Watch录制音频界面崩溃所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1001571.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-21
下一篇2022-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存