0

ドキュメントによると:sessionId-AudioTrackを接続する必要があるオーディオセッションのID

このようなものを使用してもいいですか?:

MediaPlayer mp = MediaPlayer.create(this, R.raw.test);
            mp.start();

int minSize = AudioTrack.getMinBufferSize(
        44100, AudioFormat.CHANNEL_OUT_STEREO, 
        AudioFormat.ENCODING_PCM_16BIT );

    at = new AudioTrack(AudioManager.STREAM_MUSIC, 
                        44100, AudioFormat.CHANNEL_OUT_STEREO, 
                        AudioFormat.ENCODING_PCM_16BIT, minSize, 
                        AudioTrack.MODE_STREAM, mp.getAudioSessionId());

    at.setStereoVolume(0.0f, 1.0f);  

メディアプレーヤーに使用されていたストリームにオーディオトラックを接続する正しい方法は何ですか。AudioTrackを使用してこのストリームに変更を加えることはできますか?

4

1 に答える 1

0

sessionId 入力パラメーターを持たないAudioTrack コンストラクターもあるため、セッション ID を指定する必要はありません。ただし、ドキュメントに記載されているように、「AudioTrack の特定のインスタンスにオーディオ エフェクトを関連付ける」場合は、セッション ID を受け取るコンストラクターを使用する必要があります。
このセッション ID は、作成した MediaPlayer インスタンスから取得するか、0 にすることができます。この場合、「何も指定されていない場合、このトラックに対して新しいセッションが作成されます」

于 2012-12-27T15:29:40.623 に答える