乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      使用JNI調(diào)用FFmpeg解碼音頻并輸出到AudioTrack求助

       mediatv 2016-07-23
      2
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      61
      62
      63
      64
      65
      66
      67
      68
      69
      70
      71
      package codes.orion.swplayer;
       
      import java.io.IOException;
       
      import android.media.AudioTrack;
      import android.media.AudioFormat;
      import android.os.Handler;
      import android.util.Log;
       
       
      public class MediaObj {
          private AudioTrack audioTrack;
          private Handler handler = new Handler();
          private Runnable updateThread = new Runnable(){
              public void run() {
                      byte[] bytes=stream(minbufsize);
                      int dsize=data_size();
                      if(audioTrack.write(bytes, 0, dsize)<dsize) {
                          Log.w(null,"Data not written completely");
                      }
                  handler.postDelayed(updateThread,50);
              }
          };
           
          private int samplerate,channeltype,minbufsize;
           
          public void setDataSource(String sourceFile) throws IOException {
              openFile(sourceFile);
              samplerate=getSampleRate();
              if (getChannel()==1)
                  channeltype=AudioFormat.CHANNEL_OUT_MONO;
              else
                  channeltype=AudioFormat.CHANNEL_OUT_STEREO;
              minbufsize=AudioTrack.getMinBufferSize (samplerate, channeltype, AudioFormat.ENCODING_PCM_16BIT);
              audioTrack = new AudioTrack(android.media.AudioManager.STREAM_MUSIC,samplerate,channeltype,
                      AudioFormat.ENCODING_PCM_16BIT,
                      minbufsize*2,
                      AudioTrack.MODE_STREAM);
          }
           
          public void prepare() {
          }
           
          public void play() {
              handler.post(updateThread);
              audioTrack.play();
          }
           
          public MediaObj() {
              JNIinit();
          }
           
          @Override
          protected void finalize() throws Throwable {
              JNIexit();
              handler.removeCallbacks(updateThread);
              super.finalize();
          }
           
          public native byte[] stream(int minbufsize);
          public native int data_size();
          public native void openFile(String sourceFile) throws IOException;
          public native int getSampleRate();
          public native int getChannel();
          public native void JNIinit();
          public native void JNIexit();
          static {
              System.loadLibrary("mediaobj-jni");
          }
           
      }

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多