UDP soketleri üzerinden aldığım sesi çalmak için AudioTrack kullanıyorum. Ses ile birlikte çok fazla ses alıyorum, bu yüzden AudioManager'ı kullanmaya karar verdim. Ancak AudioManager, ses aktarımını uygulamanın sınırlarının ötesine değiştirir. Kullanmakta olduğum kod aşağıdadır.AudioTrack'ı AudioManager setSpeakerphoneOn ile kullanın
m_amAudioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
m_amAudioManager.setMode(AudioManager.MODE_IN_CALL);
m_amAudioManager.setSpeakerphoneOn(false);
bu kodla Sorun app kapatın ve Müzik Player başlattığınızda, ses ön hoparlör ve olağan arka hoparlörden geliyor ve bir şekilde bunu değiştiremezsiniz olmasıdır. Bu sorunu çözmek için, uygulamanızı kapattığımda aşağıdaki satırı eklememeye karar verdim.
m_amAudioManager.setSpeakerphoneOn(true);
Ama sorun bir çağrı (normal arama) aldığınızda, varsayılan olarak hoparlör açık olduğunu bu hattı ile
. Bu konuda yardıma ihtiyacım var lütfen.
Cevabınız için çok teşekkürler. Bu izni kullandım. Ve sorunlarımdan birini çözdüm. Hoparlör artık varsayılan olarak açık değil. Fakat bu kodla müzik çaları çalıştırmayı denedim ve ön hoparlörde çalışmaya başladı. Bunu varsayılan olarak nasıl değiştirebilirim? – SoH
Varsayılan değer, uygulamayı başlatmadan önce Cihazın kullanıcısı tarafından ayarlanan ayardır. Buradaki nokta, AudioManager Ayarını geri yüklemek, değiştirmeden önce durumdaydı. Bu yüzden, uygulamanız başlamadan önce speakerPhone kapalıysa, uygulamanız durduğunda kapanır. AudioTrack başlatıldıktan sonra modu değiştirirsek – TouchBoarder
@hsigmond olur mu? – onmyway133