android 6 videoview,Android VideoView错误(1,16)并显示黑屏

我有一个带有VideoView的应用程序,它从内部存储器播放mp4文件(我的包文件目录)

在一些三星Epic Touch 4g(Galaxy SII)设备上,而不是显示的视频,屏幕是完全黑色的.我的应用程序中的其他所有内容都表现正常并且响应正常,因此设备根本不会“冻结”,它只是在屏幕上显示黑色而不是视频.

要启动我的视频,我使用onPreparedListener回调来调用start():

mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {

@Override

public void onPrepared(MediaPlayer arg0) {

mVideoView.start();

}

});

然后我设置要使用此通话播放的视频:

//file is the reference to my video File object.

//I am positive that it is correct

mVideoView.setVideoPath(file.getAbsolutePath());

我有一个onErrorListener设置如下:

mVideoView.setOnErrorListener(new OnErrorListener(){

@Override

public boolean onError(MediaPlayer arg0, int arg1, int arg2) {

Log.i(myTag, "MP ERROR: "+ arg1 + " - " + arg2);

/* I have also tried this here, no luck this way either

mVideoView.setVideoPath(file.getAbsolutePath());

return true;

*/

return false;

}

});

经过仔细检查,我意识到我的onErrorListener根本没有收到回调.

当黑屏出现在屏幕上时,Log会反复收到这些消息的垃圾邮件:

V/PlayerDriver(2579): HandleInformationalEvent: PVMFInfoProcessingFailure

V/PlayerDriver(2579): HandleInformationalEvent: type=16 UNHANDLED

E/MFC_DEC_APP(2579): SsbSipMfcDecExe] IOCTL_MFC_DEC_EXE failed(ret : -2001)

E/PVMFOMXVideoDecNode(2579): Ln 1652 OMX_EventError nData1 -2147479541 nData2 0

并且(有时候下面的行是用上述4行的垃圾邮件进行的.但是其他时候这两行在上述4次垃圾邮件迭代后自行发送垃圾邮件.)

W/MediaPlayer(30537): info/warning (1, 16)

I/MediaPlayer(30537): Info (1,16)

我不认为这是我的视频(AVC MP4)的编码问题,因为完全相同的视频在一些Epic Touch 4g设备上运行(甚至在相同版本的OS上也是如此).我在此设备上使用了过去完全相同的视频,当设备升级到操作系统版本2.3.6时,这些问题就开始发生了.

任何人都可以了解我所看到的OMX / MFC错误吗?或者有没有其他人遇到VideoView只显示黑屏而不是视频的问题?最后还有其他一些方法,我应该开始准备/播放我的视频文件,可能不会导致这些错误和黑屏?

编辑:我在this file发现警告#16是:

/*

Notification that a processing failure occurred (not fatal error)

*/

const PVMFStatus PVMFInfoProcessingFailure = 16;

这应该是一个非致命的错误.我认为它不会崩溃所以它不是“致命的”,但无论发生什么都会导致我的视​​频无法正常显示.

编辑2:视频启动时来自设备的更多日志.这些都出现在上述垃圾邮件之前:

D/PowerManagerService(2677): acquireWakeLock flags=0xa tag=KEEP_SCREEN_ON_FLAG uid=1000 pid=2677 myUID=1000 myPID=2677 myTID=23672

I/ALSAModule(2579): Initialized ALSA PLAYBACK device hifi

W/AudioFlinger(2579): write blocked for 99 msecs, 318 delayed writes, thread 0x61a00

I/libfimc(2677): bool SecFimc::create(SecFimc::FIMC_DEV, fimc_overlay_mode, unsigned int):: Fimc reserved memory =0x57da0000

E/Surface(6585): Surface::init token -2 identity 3401

E/action=%s(2677): com.android.music.musicservicecommand

D/AudioService(2677): musicservicecommand

E/MediaPlayer-JNI(6585): setDataSource: outside path in JNI is ?x@

I/WindowManager(2677): CREATE SURFACE Surface(name=SurfaceView, identity=3401, mNativeSurface=0) IN SESSION android.view.SurfaceSession@40825e90: pid=6585 format=4 flags=0x200 / Window{40bbc478 SurfaceView paused=false}

D/MediaPlayerService(2579): getPlayerType. Ln=935

D/MediaPlayerService(2579): createPlayer. type=1

D/MediaPlayerService(2579): create PVPlayer

V/PlayerDriver(2579): PVSuspensionState struct constructor

V/PVPlayer(2579): PVPlayer constructor

V/PVPlayer(2579): construct PlayerDriver

V/PlayerDriver(2579): constructor

V/PlayerDriver(2579): OpenCore hardware module not found

V/PlayerDriver(2579): start player thread

V/PlayerDriver(2579): startPlayerThread

V/PlayerDriver(2579): InitializeForThread

V/PlayerDriver(2579): OMX_MasterInit

V/PlayerDriver(2579): OsclScheduler::Init

V/PlayerDriver(2579): CreatePlayer

D/(2579): SISO TEST registering PVMFRecognizerPluginFactory

D/(2579): SISO TEST registering PVMFRecognizerPluginFactory success

V/PlayerDriver(2579): AddToScheduler

V/PlayerDriver(2579): PendForExec

V/PlayerDriver(2579): OsclActiveScheduler::Current

V/PlayerDriver(2579): StartScheduler

V/PVPlayer(2579): send PLAYER_SETUP

V/PlayerDriver(2579): Send player code: 2

V/PlayerDriver(2579): CommandCompleted

V/PlayerDriver(2579): Completed command PLAYER_SETUP status=PVMFSuccess

V/PVPlayer(2579): setVideoSurface(0x46b0d0)

V/PVPlayer(2579): setVideoSurface(0x2d8cd0)

V/PVPlayer(2579): prepareAsync

D/ViewRoot(3990): handleAppVisibility:TN_USA_U1_SPR

V/PlayerDriver(2579): Send player code: 3

V/PlayerDriver(2579): handleSetDataSource

V/PlayerDriver(2579): handleSetDataSource- scanning for extension

V/PlayerDriver(2579): CommandCompleted

V/PlayerDriver(2579): Completed command PLAYER_SET_DATA_SOURCE status=PVMFSuccess

V/PVPlayer(2579): run_init s=0, cancelled=0

V/PlayerDriver(2579): Send player code: 6

V/PlayerDriver(2579): release string is 2.3.6 len 5

V/PlayerDriver(2579): HandleInformationalEvent: PVMFInfoDurationAvailable

V/PlayerDriver(2579): .... with duration = 168483 ms

V/PlayerDriver(2579): CommandCompleted

V/PlayerDriver(2579): Completed command PLAYER_INIT status=PVMFSuccess

V/PlayerDriver(2579): dongju PlayerCommand::PLAYER_INIT enter

V/PlayerDriver(2579): File EXT is : .mp4

E/PlayerDriver(2579): PlayerDriver::it is a not Protected file

V/PlayerDriver(2579): PlayerCommand::PLAYER_INIT exit

V/PVPlayer(2579): run_set_video_surface s=0, cancelled=0

V/PlayerDriver(2579): Send player code: 4

W/PlayerDriver(2579): Using generic video MIO

V/PlayerDriver(2579): CommandCompleted

V/PlayerDriver(2579): Completed command PLAYER_SET_VIDEO_SURFACE status=PVMFSuccess

V/PVPlayer(2579): run_set_audio_output s=0, cancelled=0

V/PlayerDriver(2579): Send player code: 5

V/PlayerDriver(2579): Create realtime output

V/PlayerDriver(2579): CommandCompleted

V/PlayerDriver(2579): Completed command PLAYER_SET_AUDIO_SINK status=PVMFSuccess

V/PVPlayer(2579): run_prepare s=0, cancelled=0

V/PlayerDriver(2579): Send player code: 7

V/PlayerDriver(2579): disable natpkt - 0

I/MFC_DEC_APP(2579): [SsbSipMfcDecOpen] MFC Library Ver 1.00

I/MFC_DEC_APP(2579): [SsbSipMfcDecOpen] handle(61)

V/PlayerDriver(2579): HandleInformationalEvent: UNKNOWN PVMFStatus

V/PlayerDriver(2579): HandleInformationalEvent: type=44 UNHANDLED

W/MediaPlayer(6585): info/warning (1, 44)

I/MediaPlayer(6585): Info (1,44)

V/PlayerDriver(2579): CommandCompleted

V/PlayerDriver(2579): Completed command PLAYER_PREPARE status=PVMFSuccess

V/PlayerDriver(2579): PLAYER_PREPARE complete mDownloadContextData=0x0, mDataReadyReceived=0

D/MediaPlayer(6585): getMetadata

V/PVPlayer(2579): setLooping(0)

V/PVPlayer(2579): check_for_live_streaming s=0, cancelled=0

V/PlayerDriver(2579): Send player code: 12

V/PVPlayer(2579): setLooping(0)

V/PlayerDriver(2579): Send player code: 12

E/PVPlayer(2579): isDrmfile playing 0

E/PVPlayer(2579): OPLBlocked = 0

E/MediaPlayerService(2579): MediaPlayerService::mIsAnyDrmVideoPlaying : 0

E/MediaPlayerService(2579): MediaPlayerService::mpCheckOPLBlocked : 0

V/PVPlayer(2579): start

E/AudioPolicyManager(2579): getParamFromPolicy

D/AudioPolicyManager(2579): mCurDevice is 2

V/AudioPolicyManager(2579): getDeviceForStrategy() strategy 0, device 2

V/AudioPolicyManager(2579): getNewDevice() selected device 2

I/FmRadioController(2677): Jni player_SetVolume :7

I/FmRadioController(2677): ---Jni player_SetVolume---

V/PlayerDriver(2579): Send player code: 8

V/PlayerDriver(2579): dongju handleStart

E/PlayerDriver(2579): PlayerDriver::handleTvOut state=[1]

E/PlayerDriver(2579): PlayerDriver::it is not a DRM file.So don't suspend TVOUT

V/PlayerDriver(2579): CommandCompleted

V/PlayerDriver(2579): Completed command PLAYER_START status=PVMFSuccess

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值