ฉันต้องการเล่นเสียงบันทึกผ่านการสนทนาทางโทรศัพท์ที่เปิดอยู่ คือในขณะที่โทรศัพท์เชื่อมต่ออยู่ (สายโทรออก) ไฟล์เสียงที่บันทึกไว้ล่วงหน้าจะเล่นผ่านการเชื่อมต่อโทรศัพท์แบบเปิด ฉันจะทำสิ่งนี้ได้อย่างไร
ฉันต้องการเล่นเสียงบันทึกผ่านการสนทนาทางโทรศัพท์ที่เปิดอยู่ คือในขณะที่โทรศัพท์เชื่อมต่ออยู่ (สายโทรออก) ไฟล์เสียงที่บันทึกไว้ล่วงหน้าจะเล่นผ่านการเชื่อมต่อโทรศัพท์แบบเปิด ฉันจะทำสิ่งนี้ได้อย่างไร
คำตอบ:
ไม่ได้สิ่งที่ดีที่สุดที่คุณสามารถทำได้คือการเล่นเสียงผ่านลำโพงเพื่อให้ไมโครโฟนสามารถรับได้ ไม่มี api ที่สามารถทำสิ่งนั้นได้
@jim ลองใช้ AudioTrack API ในโหมดสตรีม ดูตัวอย่างโค้ดด้านล่าง
AudioTrack track = new AudioTrack(AudioManager.STREAM_VOICE_CALL, mySampleRate,
AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT,
myBuffersize, AudioTrack.MODE_STREAM);
สิ่งนี้น่าจะใช้ได้
เมื่อฉันต้องการเล่นสิ่งที่บันทึกไว้ทางโทรศัพท์ฉันมักจะเปิดลำโพงโทรศัพท์และกดระดับเสียงสูงสุด จากนั้นคนในส่วนอื่น ๆ สามารถได้ยินได้ แต่ใช้งานได้ดีที่สุดกับผู้ให้บริการเสียง HD (เสียงจะดีกว่ามากในตอนจบ) :)
จากประสบการณ์ของฉันคุณสามารถเล่นเสียงที่บันทึกไว้ในแอพเครื่องเล่นเพลง แม้ว่าแอพจะหยุดเล่นเมื่อเชื่อมต่อโทรศัพท์สำหรับแอพเพลงส่วนใหญ่หากคุณเริ่มเล่นใหม่ก็ยังคงเล่นต่อไป
หากคุณต้องการให้เล่นเสียงโดยอัตโนมัติคุณสามารถใช้วอยซ์เมลได้
หากคุณมีโทรศัพท์หรืออุปกรณ์รองที่คุณสามารถเล่นไฟล์เสียงและอุปกรณ์ทั้งสองมีพอร์ต auxillary เพียงซื้อสาย aux ราคาถูกตัดเปิดและเสียบสายทั้งสองด้วยวิธีอื่นดังนั้นโทรศัพท์จึงคิดว่าอีกอัน อุปกรณ์เป็นไมโครโฟน วิธีนี้ใช้งานได้ดีกว่าที่เล่นผ่านลำโพงเพราะมีความคมชัดมากกว่าและไม่มีเสียงรบกวนรอบข้าง