0

こんにちは、アンドロイドの aacplayer からプログレス バーを取得しようとしていますが、既にこのコードを持っています:

public void playerPCMFeedBuffer(boolean isPlaying, final int bufSizeMs, final int bufCapacityMs) {
    float percent = bufSizeMs * 100 / bufCapacityMs;
    System.out.println("Buffer = " + percent + "% , "+bufSizeMs+" / "+bufCapacityMs);

    handler.post(new Runnable() {
        public void run() {
            progress.setProgress(bufSizeMs * 100 / bufCapacityMs);

        }
    });

これにより、オーディオストリームのバッファが得られるので、そこからプログレスバーを設定し、プログレスバー自体が動いていることを示すことができると思います。しかし、このエラーが発生しています:

03-11 00:15:15.885: E/AndroidRuntime(7609): FATAL EXCEPTION: main
03-11 00:15:15.885: E/AndroidRuntime(7609): java.lang.NullPointerException
03-11 00:15:15.885: E/AndroidRuntime(7609):     at com.webcraftbd.radio.RadioService$1$1.run(RadioService.java:712)
03-11 00:15:15.885: E/AndroidRuntime(7609):     at android.os.Handler.handleCallback(Handler.java:615)
03-11 00:15:15.885: E/AndroidRuntime(7609):     at android.os.Handler.dispatchMessage(Handler.java:92)
03-11 00:15:15.885: E/AndroidRuntime(7609):     at android.os.Looper.loop(Looper.java:137)
03-11 00:15:15.885: E/AndroidRuntime(7609):     at android.app.ActivityThread.main(ActivityThread.java:4898)
03-11 00:15:15.885: E/AndroidRuntime(7609):     at java.lang.reflect.Method.invokeNative(Native Method)
03-11 00:15:15.885: E/AndroidRuntime(7609):     at java.lang.reflect.Method.invoke(Method.java:511)
03-11 00:15:15.885: E/AndroidRuntime(7609):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
03-11 00:15:15.885: E/AndroidRuntime(7609):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
03-11 00:15:15.885: E/AndroidRuntime(7609):     at dalvik.system.NativeStart.main(Native Method)

どうもありがとうございます。

4

1 に答える 1

0

System.out.println() は Android 開発では有効ではありません。使用する

  Log.d("tag", "message"); 

代わりは

于 2013-03-11T05:26:20.680 に答える