package com.example.user.myapplication;
import android.media.MediaExtractor;
import android.media.MediaFormat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import java.io.IOException;
import java.nio.ByteBuffer;
public class MainActivity extends AppCompatActivity {
public final static String VIDEO_URL = "http://sites.google.com/site/ubiaccessmobile/sample_video.mp4";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MediaExtractor extractor = new MediaExtractor();
try {
extractor.setDataSource(VIDEO_URL);
} catch (IOException ex) {
}
int numTracks = extractor.getTrackCount();
for (int i = 0; i < numTracks; ++i) {
MediaFormat format = extractor.getTrackFormat(i);
String mime = format.getString(MediaFormat.KEY_MIME);
extractor.selectTrack(0);
}
ByteBuffer inputBuffer = ByteBuffer.allocate(1024);
while (extractor.readSampleData(inputBuffer,0) >= 0) {
int trackIndex = extractor.getSampleTrackIndex();
long presentationTimeUs = extractor.getSampleTime();
extractor.advance();
}
extractor.release();
extractor = null;
}
}
코드 실행하려고 하는데 while문 안에 있는
readSampleData를 호출 할 때 자꾸 source code does not match the bytecode오류가 나네요. IllegalArgumentException여기서 예외처리도 되고요.
안드로이드 시작하는 단계라 사소한 문제도 자꾸 질문 드리게 되네요ㅠㅠ
도움이 될지는 모르겠지만 로그도 같이 올려드려요
05-29 20:24:07.033 10384-10384/com.example.myapplication E/NuCachedSource2: readAt:Timeout ( player case ) checkTimeOut[0]