

Bundleに録音データを保存したいのですがうまくいきません。

Documentフォルダに録音したファイルを保存するコードは問題なく動いており、以下のようになっています。

[code]

    var audioFilename: URL!
    
    //Audio録音周りの関数
    func startRecording() {
        audioFilename = self.getDocumentsDirectory().appendingPathComponent("recordedAudio.wav")
    
        let settings = [
            AVFormatIDKey: Int(kAudioFormatLinearPCM),
            AVSampleRateKey: 44100,
            AVNumberOfChannelsKey: 2,
            AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
        ]
    
        do {
            audioRecorder = try AVAudioRecorder(url: audioFilename, settings: settings)
            audioRecorder.delegate = self
            audioRecorder.record()
    
        } catch {
            finishRecording(success: false)
        }
    }
    
    func finishRecording(success: Bool) {
        audioRecorder.stop()
        audioRecorder = nil
    }
    
    func getDocumentsDirectory() -> URL {
        let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
        return paths[0]
    }
    
[/code]

データをBundleに保存しようとして、以下のように書き換えるとエラーになってしまいます。

[code]

    var audioFilename: URL!
    
    //Audio録音周りの関数
    func startRecording() {
        audioFilename = Bundle.main.bundleURL.appendingPathComponent("recordedAudio.wav")
    
        let settings = [
            AVFormatIDKey: Int(kAudioFormatLinearPCM),
            AVSampleRateKey: 44100,
            AVNumberOfChannelsKey: 2,
            AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
        ]
    
        do {
            audioRecorder = try AVAudioRecorder(url: audioFilename, settings: settings)
            audioRecorder.delegate = self
            audioRecorder.record()
    
        } catch {
            finishRecording(success: false)
        }
    }
    
    func finishRecording(success: Bool) {
        audioRecorder.stop()
        audioRecorder = nil
    }
    
[/code]

エラー内容は以下の通りです。

[code]

    CreateDataFile failed
    Couldn't create a new audio file object
    
[/code]

どうしたらDocumentフォルダではなくBundleにAudioファイルを保存することができますか？


CC BY-SA 4.0
2020-04-22T14:36:38.070
65872
2020-04-22T14:36:38.070
36446
question
swift
SwiftでBundleにAudioファイルを保存したい