Đây là một câu hỏi cũ, nhưng câu trả lời khác không giúp tôi ... Tuy nhiên, tôi tìm thấy một giải pháp mà tôi gửi bài để tham khảo trong tương lai trong trường hợp ai đó (hoặc bản thân mình từ tương lai!) cần nó.
Giải pháp được mô tả trong bài đăng trên blog sau đây: iOS: Force audio output to speakers while headphones are plugged in.
Bạn cần tạo AudioRouter lớp Objective-C mới trong dự án của mình. Sau đó, nhập AudioRouter.h
vào tệp tiêu đề của lớp bạn đang bắt đầu chức năng âm thanh. Tiếp theo, trong .m
tập tin tương ứng thêm những dòng sau đây trong vòng viewDidLoad
phương pháp:
AudioRouter *foobar = [[AudioRouter alloc] init];
[foobar initAudioSessionRouting];
[foobar forceOutputToBuiltInSpeakers];
Bây giờ bạn có âm thanh (ví dụ AVAudioPlayer) đầu ra buộc phải loa! Lưu ý rằng nếu bạn cắm tai nghe trong khi ứng dụng đang chạy, khi đó tất cả đầu ra âm thanh được hướng đến tai nghe.
Nguồn
2013-11-19 01:41:20
Điều này làm việc với AVAudioPlayer hoặc chỉ AudioServices? –
Một lưu ý cho những người khác đi qua câu trả lời này: hai dòng đầu tiên trong mã mẫu không liên quan - và nếu bạn giống như OP (âm thanh ghi C ALNG), những dòng này sẽ ngăn việc ghi âm hoạt động bình thường. – Steve
Điều này làm việc cho tôi với một điều chỉnh: Tôi đã thay đổi sessionCategory thành kAudioSessionCategory_PlayAndRecord. – Jacob