【问题标题】:AsyncTask: Implementing executeOnExecutor() thread class in AudioTrackAsyncTask:在 AudioTrack 中实现 executeOnExecutor() 线程类
【发布时间】:2012-11-03 09:26:15
【问题描述】:

我在将 AsyncTaskexecuteOnExecutor() 并行执行时遇到问题,但在发送和接收音频时,我收到的声音有延迟(400 毫秒到 600 毫秒)。这是我的代码:

语音通话录音代码:

private void startRecording() { 
    recorder = new AudioRecord(MediaRecorder.AudioSource.MIC,
    RECORDER_SAMPLERATE, RECORDER_CHANNELS,
    RECORDER_AUDIO_ENCODING, BufferElements * BytesPerElement); 
    recorder.startRecording();
    isRecording = true;
    /*
     * Schedule a task for repeated fixed-rate execution after a specific
     * delay has passed.
     */
    timer.scheduleAtFixedRate(new TimerTask() {

            @Override
            public void run() {
                bData = new short[BufferElements];

                while (isRecording) {
                // gets the voice output from microphone to byte format
                /*
                 * Reads audio data from the audio hardware for recording
                 * into a buffer.
                 */
                recorder.read(bData, 0, BufferElements);
                if (AudioRecord.ERROR_INVALID_OPERATION != 0) {
                    /* Send the audio voice data to server */
                    SendAudio();
                }
            }}, 0, 1);
}

两个用户之间通话时,如图所示先发起通话。

-------->> 从用户 1 呼叫用户 2 发起呼叫 = 0

如果user2接到呼叫,则发起呼叫= 1

如果发起呼叫 = 1,则在两个用户之间传输数据,即发送和接收语音数据。

-------->> 当Initiate call = 1时,传输数据

发送和接收语音数据

播放音频数据有什么问题?

在播放音频时出现语音延迟。发送和接收响应之间的时间太长,大约 400 毫秒到 600 毫秒。我需要做什么来解决这个问题?第一次持有5个数据块,当它收到5个音频数据后立即开始一个接一个地播放,如上代码所示。

【问题讨论】:

    标签: java android android-asynctask http-post audiotrack


    【解决方案1】:

    尝试将 5 个音频数据减少到 3 个? - 并不总是最好的主意,但它可能会有所帮助。 带宽如何,是否足以舒适地传输? 网络延迟如何?做一个 ping ,如果有 400 毫秒,那么你不能做太多。

    【讨论】:

    • 谢谢 matheszabi,你能给我更多的想法吗,我尝试了很多方法,但它不能正常工作,我的语音数据非常不稳定,我用 json 对象与静态然后它的工作,当我尝试使用本地服务器进行动态语音数据全双工传输,非常不稳定,请指导我....
    • 为了在音频和视频应用程序中获得最佳效果,您将需要 NDK 和原生开发,这与平台无关。此时您有一些基础设施未配置、设置。
    猜你喜欢
    • 2015-07-08
    • 2014-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2016-07-03
    • 2014-04-20
    相关资源
    最近更新 更多