Tôi đang xây dựng trình phát video với đối tượng trình phát phương tiện Android. Tôi có thể nghe thấy âm thanh nhưng video không xuất hiện trên bề mặt. đây là mã của tôiLàm thế nào để đính kèm MediaPlayer với SurfaceView trong Android?
public class PlayerActivity extends Activity implements SurfaceHolder.Callback {
String path;
private MediaPlayer mp;
private SurfaceView mPreview;
private SurfaceHolder holder;
boolean pausing = false;
public static String filepath;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_player);
getWindow().setFormat(PixelFormat.UNKNOWN);
mPreview = (SurfaceView)findViewById(R.id.surfaceView);
holder = mPreview.getHolder();
holder.setFixedSize(176, 144);
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mp = new MediaPlayer();
mp.setDisplay(holder);
try {
Intent intent = getIntent();
Uri fileuri = intent.getData();
filepath=fileuri.getPath();
} catch(Exception e) {}
try {
mp.setDataSource(filepath);
mp.prepare();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mp.start();
}
}
mục tiêu là Android 2.3 trở lên. cách khắc phục sự cố, hãy giúp tôi ..
nó không phải là làm việc cho tôi ném lỗi ngoại lệ nhà nước bất hợp pháp trong SurfaceCreated() phương pháp tại dòng mp.setDisplay (chủ); –