2017-07-10 6 views
1

私は、内部スピーカーから携帯電話を揺すると同時に、私のアプリは(a2dp)経由で車のBluetoothに接続されています。通知音声を内蔵スピーカーと残りのすべてのサウンド(音楽、通話、アラートなど)にBluetoothスピーカーにルーティングする必要があります。これは可能ですか?内部スピーカーとその他のすべての(音楽、通話、アラート)Bluetoothルーター(a2dp)へのルートアンドロイド通知音

私はstack over flowに投稿されているすべてのrelavant質問を調査しましたが、それらに答えているようです。以下は、オーディオマネージャークラスで試したコードのスニペットです。

私はルートに使用して音声ストリームを試してみました方法とすぐにストリームの後ろに演奏されるすべての音楽が再び向けてルーティングされたBluetoothスピーカーから流れダウンタイム削減のためではなく、

AudioManager audioManager = (AudioManager) getContext().getSystemService(AUDIO_SERVICE); 
    audioManager.setMode(AudioManager.ROUTE_EARPIECE); 
    audioManager.setSpeakerphoneOn(false); 

に建てられましたBTのスピーカーと通知音はありません。私はすべてのオーディオマネージャのルートとモードを試しましたが、うまくいかないようです。 通知音はmp3で、URIを解析することでパスが設定され、通知方法はどのようになっていますか?この事が可能であることのわずかなチャンスがある場合

NotificationCompat.Builder mBuilder = 
      new NotificationCompat.Builder(context) 
        .setSmallIcon(R.drawable.newlogo) 
        .setLargeIcon(largeIcon) 
        .setSound(uri) 
        .setContentTitle(notificationHeading) 
        .setContentText(notificationBody) 
        .setPriority(Notification.PRIORITY_HIGH).setVibrate(v); 
    notificationManager.notify(1,mBuilder.build()); 

は、私はそれを取って喜んでより多くの午前、任意のライブラリにも支払われたもの。この問題を解決するか、共有を行い、また、私が電話を根絶することはできませんしてください、このアプリは、プレイストアで公開する

答えて

0

AudioTrack.javaクラスを介してスピーカー通知のサウンドを再生し、ストリームAUDIO_STREAM_TTS(略して「送信トラフスピーカー」)またはAUDIO_STREAM_ENFORCED_AUDIBLEを使用します。

https://developer.android.com/reference/android/media/AudioTrack.html#AudioTrack(int,%20int,%20int,%20int,%20int,%20int)

AUDIO_STREAM_ENFORCED_AUDIBLE = 7, /* Sounds that cannot be muted by user 
            * and must be routed to speaker 
            */ 
AUDIO_STREAM_TTS    = 9, /* Transmitted Through Speaker. 
            * Plays over speaker only, silent on other devices. 
            */ 
関連する問題