為什麼原生 libmpg123 在帶有 libgdx 的 android 上花費這麼長時間? (Why is native libmpg123 taking so long on android with libgdx?)


問題描述

為什麼原生 libmpg123 在帶有 libgdx 的 android 上花費這麼長時間? (Why is native libmpg123 taking so long on android with libgdx?)

I'm trying to use the gdx‑audio extensions, but am having trouble decoding mp3s. It works, but very slowly!! A 10‑second file is taking 6.57 seconds to decode :( Here is the method:

public void decode() {
    Mpg123Decoder decoder = new Mpg123Decoder(externalFile);

    short[] sampleArray = new short[1024];

    // read until we reach the end of the file
    while (decoder.readSamples(sampleArray, 0, sampleArray.length) > 0) {}
}

Can anyone tell me why this is taking so long?

‑‑‑‑‑

參考解法

方法 1:

Because libmpg123 is a software decoder, that does all the work on the CPU. Depending on what CPU you have, you usually only get 2x real‑time decoding. We haven't enabled ARM assembly in our libmpg123 build, that could help speeding it up a little, but usually not by much.

(by cmbryanbadlogic)

參考文件

  1. Why is native libmpg123 taking so long on android with libgdx? (CC BY‑SA 3.0/4.0)

#libgdx #java #Android #mp3






相關問題

為什麼原生 libmpg123 在帶有 libgdx 的 android 上花費這麼長時間? (Why is native libmpg123 taking so long on android with libgdx?)

睡眠後重新加載應用程序 (Re-load the app after sleep)

獲取實際觸摸位置 LibGDX (Get actual touch position LibGDX)

LibGDX - 只有可拖動的運動 (LibGDX - only draggable movement)

無法解析符號“android” - 在使用 libgdx 在 Android 應用程序中實現 Google Analytics 時 (Cannot resolve symbol 'android' - While implementing Google Analytics in Android App with libgdx)

如何從矩形數組中刪除隨機矩形? (How to remove random rectangle from rectangle array?)

球在傾斜平面上滾動 java libgdx (Ball rolling on an incline plane java libgdx)

libgdx - Intellij 類未找到異常? (libgdx - Intellij class not found exception?)

GL_COLOR_BUFFER_BIT 再生哪個內存? (GL_COLOR_BUFFER_BIT regenerating which memory?)

libGDX - 更改屏幕後的黑色按鈕和文本 (libGDX - Black buttons and text after changing screen)

帶有 9patch 的 LibGdx 標籤背景 (LibGdx label background with 9patch)

如何從平鋪中刪除對象? (How do I remove an object from tiled?)







留言討論