2011-09-21 36 views
9

Tôi đang bối rối.Phát lại video cho màn hình màu đen nhưng có âm thanh

Tôi đang cố gắng phát video bằng Trình phát đa phương tiện nhưng trong khi phát âm thanh, tất cả những gì tôi nhận được là một cửa sổ màu đen.

Tôi đã xem các bài đăng khác về vấn đề này nhưng tôi chưa tìm ra giải pháp. Tôi đã cố gắng làm theo lời đề nghị của họ.

Trình phát đa phương tiện được chuẩn bị trước khi phát lại. Chủ sở hữu bề mặt đã được tạo và đặt thành màn hình của trình phát media trước khi phát lại.

Tested trên Galaxy Tab Samsung và một S. Samsung Galaxy

Tôi biên dịch chống lại mức API 7.

Đoạn video tự nó có thể được chơi trong ứng dụng video của thiết bị từ sdcard, vì vậy nó nên tương thích.

Chế độ xem bề mặt không có cùng kích thước với video. Vì vậy, đó có thể là một vấn đề. Tôi có cần phải làm điều gì đó về điều đó hoặc được kéo dài tự động xử lý không?

Đây là những gì tôi có trong khởi của tôi:

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(width, height); 
lp.leftMargin = x; 
lp.topMargin = y; 
mSurfaceView = new SurfaceView(mActivity); 
mSurfaceView.requestFocus(); 
mSurfaceView.setZOrderOnTop(true); 
mSurfaceView.getHolder().addCallback(player); 
mSurfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
mLayout.addView(mSurfaceView, lp); 

mMediaPlayer = new MediaPlayer(); 
mMediaPlayer.setDataSource(assetDescriptor.getFileDescriptor(), assetDescriptor.getStartOffset(), assetDescriptor.getLength()); 
mMediaPlayer.setOnErrorListener(player); 
mMediaPlayer.setOnPreparedListener(player); 
mMediaPlayer.prepare();      

và đây là callbacks tôi:

public void onPrepared(MediaPlayer mp) 
{ 
    mMediaPlayer.start(); 
} 


public void surfaceCreated (SurfaceHolder holder) 
{ 
    mMediaPlayer.setDisplay(holder); 
} 

Có gì bực bội là một phiên bản của mã đã được hoạt động bình thường trong một thời gian trước đây, nhưng bây giờ nó không phải.

+0

Codec video là gì? – rds

+0

Bất kỳ may mắn nào với câu hỏi phổ biến này? – Behnam

Trả lời

0

Tôi gặp sự cố tương tự và có liên quan đến định dạng video (codec MP4, WMV, AVI, v.v.).

Thử chạy video trên trình phát mặc định của Android, xem có hoạt động hay không. Nếu không hoạt động, sau đó nó có thể là vấn đề trong codec video.

Không cố gắng chạy video trên các trình phát như VLC hoặc Player MX, chúng đã nhúng codec.

Các vấn đề liên quan