Tôi đang cố gắng ghi lại âm thanh trên Thiết bị bằng cách sử dụng AVAudioRecorder. Tệp đó được truyền tới máy chủ web và tôi muốn phát tệp kết quả đó trong trình duyệt web ..Bản ghi AVAudioRecorder AAC/m4a
Tôi đã thử kết hợp các cài đặt khác nhau trên thiết bị ... dường như không mã hóa tệp thành định dạng AAC chính xác .
QuickTime nói rằng nó không biết cách phát tệp này.
Mẫu mã
private void InitializeRecordingSession() {
string fileName = string.Format("{0}.m4a", Guid.NewGuid());
string tmpdir = Environment.GetFolderPath(Environment.SpecialFolder.Personal) + "/audio";
if (!Directory.Exists(tmpdir))
Directory.CreateDirectory(tmpdir);
audioFilePath = Path.Combine(tmpdir, fileName);
Console.WriteLine("Audio File Path: " + audioFilePath);
var url = NSUrl.FromFilename(audioFilePath);
var settings = new AVAudioRecorderSettings() {
AudioFormat = AudioFormatType.MPEG4AAC,
SampleRate = 44100,
NumberChannels = 1,
AudioQuality = AVAudioQuality.High,
};
recorder = AVAudioRecorder.ToUrl(url, settings, out error);
//Set Recorder to Prepare To Record
recorder.PrepareToRecord();
}
Sửa -By đặt mã này ở trước dòng
recorder = AVAudioRecorder.ToUrl(url, settings, out error);
Tất cả mọi thứ đã làm việc.
NSError error;
AVAudioSession audioSession = AVAudioSession.SharedInstance();
audioSession.SetCategory(AVAudioSession.CategoryRecord, out error);
audioSession.SetActive(true, out error);
Tôi tự hỏi nếu bạn đã tìm thấy giải pháp cho điều này như tôi phải đối mặt với cùng một vấn đề. – justinkoh