2015-03-21 20 views
8

Tôi có thông báo này khi tôi cố gắng để chơi một âm thanh với một sân khác nhau: enter image description herengoại lệ lý do com.apple.coreaudio.avfaudio: Lỗi -50

Và tôi googled cho rằng lỗi không có thành công. Nếu tôi đặt breakpoint nó dừng lại ở đây: enter image description here

tôi thử nghiệm in ấn tất cả các đối tượng để xem là bất cứ điều gì là nit nhưng i didnt tìm thấy bất cứ điều gì. Điều misterious nhất là chỉ xảy ra trong iphone6 ​​của tôi, trong các điện thoại khác tôi đã thử nghiệm này không phá vỡ. Sau đó tìm kiếm các dự án mà tôi nhìn vào để thêm video này hiệu ứng âm thanh mà là thế này: https://github.com/atikur/Pitch-Perfect Và nếu bạn chạy nó nó hoạt động, cho đến khi bạn thay đổi ...

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayAndRecord, error: &error) 

Để:

AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, error: &error) 

và sau đó bùng nổ (ONLY iN REAL thiết bị gắn vào Xcode, nó hoạt động trong mô phỏng):

2015/03/21 11: 56: 13,311 Pitch Perfect [1237: 607.678] 11: 56: 13,311 ERROR: [0x10320c000] AVAudioFile.mm:496: - [AVAudioFile readIntoBuffer: fr ameCount: error:]: error -50 2015-03-21 11: 56: 13.313 Pitch Perfect [1237: 607678] * Chấm dứt ứng dụng do ngoại lệ không bị cáo buộc 'com.apple.coreaudio.avfaudio', lý do: 'lỗi - 50' * Đầu tiên gọi ném stack: (0x18687a530 0x1978040e4 0x18687a3f0 0x1851ea6c0 0x185232d38 0x1852130f8 0x185212ccc 0x100584fd4 0x100584f94 0x10058fdb8 0x1005882c4 0x1005925d4 0x100592208 0x198037dc8 0x198037d24 0x198034ef8) libC++ abi.dylib: chấm dứt với ngoại lệ còn tự do kiểu NSException

Và điều thực sự kỳ lạ là ảnh chụp màn hình này, vì một số lý do sau khi in audioEngine, audioEngine.outputNode nhận được không? weird bug

+1

Tôi nhận được lỗi tương tự. Trong terminal nếu bạn gõ 'macerror -50' nó trả lời:' Mac OS error -50 (paramErr): lỗi trong danh sách tham số người dùng'. Tôi chưa nhận được thêm bất kỳ thông tin nào. –

+0

chương trình âm thanh này trong iOS sucks! – Josh

Trả lời

0

Tôi đã gặp lỗi tương tự ... Tôi đã tạo lớp "sound.swift" mà trình điều khiển chế độ xem của tôi sẽ khởi tạo ... Tôi quyết định đơn giản hóa mọi thứ và tập trung vào việc tạo âm thanh. Vì vậy, tôi đã đặt đoạn mã sau vào bộ điều khiển xem và nó hoạt động:

// lấy tập tin ghi

var pitchPlayer = AVAudioPlayerNode() 
var timePitch = AVAudioUnitTimePitch() 
let dirPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask,true)[0] as! String 

var pathArray = [dirPath, String("son.wav")] 

filePath = NSURL.fileURLWithPathComponents(pathArray) 

audioFile = AVAudioFile(forReading: filePath.filePathURL, error: nil) 

audioEngine = AVAudioEngine() 

audioEngine.attachNode(pitchPlayer) 
audioEngine.attachNode(timePitch) 


//Create a session 
var session=AVAudioSession.sharedInstance() 
session.setCategory(AVAudioSessionCategoryPlayAndRecord,error:nil) 

//output audio 
session.overrideOutputAudioPort(AVAudioSessionPortOverride.Speaker, error: nil) 

audioEngine.connect(pitchPlayer, to: timePitch, format: audioFile.processingFormat) 
audioEngine.connect(timePitch, to: audioEngine.outputNode, format: audioFile.processingFormat) 

pitchPlayer.scheduleFile(audioFile, atTime: nil, completionHandler: nil) 
audioEngine.startAndReturnError(&audioError) 

pitchPlayer.play() 
Các vấn đề liên quan