私はNSSound
のオブジェクトをAVAudioPlayer
インスタンスに変換したいと思っています。 NSSound
オブジェクトに関連付けられたファイルパス(NSURL
)がありますが、元のファイルが存在しない可能性があります。ここで私はこれまで持っているものです。NSSoundをAVAudioPlayerに変換する
class SoundObj: NSObject {
var path: NSURL?
var sound: NSSound?
var player: AVAudioPlayer
}
let aSound = SoundObj()
aSound.path = NSURL(fileURLWithPath: "file:///path/to/sound.m4a")
aSound.sound = NSSound(contentsOfURL: aSound.path)!
do {
try aSound.player = AVAudioPlayer(contentsOfURL: aSound.path)
} catch {
// perhaps use AVAudioPlayer(data: ...)?
}
私はAVAudioPlayer
インスタンスにNSSound
オブジェクトを変換するにはどうすればよいですか?
オーディオファイルが存在しない場合、この回線はクラッシュしませんか? 'aSound.sound = NSSound(contentsOfURL:aSound.path)! ' – brimstone
はい、この場合、' .sound'は決してnullではありません。 – Matt
正直なところ、私はあなたがNSSoundから健全なデータを得ることはできないと思います。 – brimstone