AVAudioRecorderで録音をしたいと思い初期化のサンプルを探した。
辞書型で設定を渡すと書いてあったが、
Xcode7.0.1ではエラーが出てしまう。
SOFによると原因は赤字の部分のようだ。
※参考(http://stackoverflow.com/questions/32509565/how-to-resolve-type-of-expression-is-ambiguous-without-more-context-for-an-audio)
var recordSettings = [
AVFormatIDKey: kAudioFormatAppleLossless,
AVEncoderAudioQualityKey : AVAudioQuality.Max.rawValue,
AVEncoderBitRateKey : 320000,
AVNumberOfChannelsKey: 2,
AVSampleRateKey : 44100.0
]
kAudioFormatAppleLosslessがIntからInt32/UInt32になったそうです。
Int32はNSNumberにブリッジされるために起きていました。
以下のようにIntにすればエラーは無くなります。
var recordSettings = [
AVFormatIDKey: Int(kAudioFormatAppleLossless),
AVEncoderAudioQualityKey : AVAudioQuality.Max.rawValue,
AVEncoderBitRateKey : 320000,
AVNumberOfChannelsKey: 2,
AVSampleRateKey : 44100.0
]
細かい変更で出回っているサンプルが動かないことは他にもありそう。
学習コストはまだまだかかりそうだ。
0 件のコメント:
コメントを投稿