1

通話中にオーディオ ファイルを再生したいのですが、再生することはできますが、通話を行うと、アプリケーションをインストールしたデバイスでのみファイルが再生されます。これは、オーディオファイルを再生したサンプルコードです。

 public void play() {

    bufferSize = AudioTrack.getMinBufferSize(16000,
            AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT);

    AudioTrack at = null;
    at = new AudioTrack(AudioManager.STREAM_VOICE_CALL,
            16000, AudioFormat.CHANNEL_CONFIGURATION_MONO,
            AudioFormat.ENCODING_PCM_16BIT, bufferSize, AudioTrack.MODE_STREAM);

    String filePath = Environment.getExternalStorageDirectory()
            .getAbsolutePath();
    String file = filePath + "/" + "myfile.wav";

            int i = 0;
    byte[] s = new byte[bufferSize];
    try {
        FileInputStream fin = new FileInputStream(file);
        BufferedInputStream bis = new BufferedInputStream(fin, 44000);
        DataInputStream dis = new DataInputStream(bis);

        at.play();

        while ((i = dis.read(s, 0, bufferSize)) > -1) {
            at.write(s, 0, i);

        }

        at.stop();
        at.release();
        dis.close();
        fin.close();

    } catch (FileNotFoundException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

このコードは私とうまく動作します。しかし、私はこのファイルが通話相手に聞こえるようにしたいと考えています。どうすればできますか?何か案が??私はアンドロイドAPIがそれを行うことを許可していないことを知っています..しかし、それをした人はいますか?? 仮定ではなく、本物で正確な回答のみを提供してください。

4

0 に答える 0