Codenameone MediaPlayer 在 Android 上生成“无法播放此视频”错误我该如何拦截对话框以使其无提示地失败
Codenameone MediaPlayer generates 'can't play this video' error on Android how do i intercept the dialog so it fails silently
我的 codenameone 项目有一个 mediaPlayer,它可以在下载视频后播放视频,在某些情况下,当网络中断时,视频仍然保存在设备上,即使它已损坏,当播放器尝试播放该视频时,我得到“无法播放此视频”对话框。我怎样才能拦截它,这样它就不会显示对话框,我可以在后台处理错误,我的媒体播放器代码如下
video = MediaManager.createMedia(videostream, "video/mp4", new Runnable() {
@Override
public void run() {
videoIsPlaying = false;
videoCounter++;
}
});
video.setNativePlayerMode(true);
newmp = new MediaPlayer(video);
newmp.setAutoplay(true);
newmp.hideControls();
newmp.setHideNativeVideoControls(true);
我会把它分成两个过程:
- 下载
- 播放
您可以将视频下载到本地文件系统,播放该文件。通过分离,您还可以在下载过程中创建令人愉悦的进度动画,甚至提供下载速度指示。
一个简单的 download/play 过程看起来像这样:
import static com.codename1.ui.CN.*;
然后 playback/download:
String f = getAppHomePath() + "videoName.mp4";
if(Util.downloadUrlToFile(url, f, true)) {
video = MediaManager.createMedia(f, () -> {
videoIsPlaying = false;
videoCounter++;
});
}
我的 codenameone 项目有一个 mediaPlayer,它可以在下载视频后播放视频,在某些情况下,当网络中断时,视频仍然保存在设备上,即使它已损坏,当播放器尝试播放该视频时,我得到“无法播放此视频”对话框。我怎样才能拦截它,这样它就不会显示对话框,我可以在后台处理错误,我的媒体播放器代码如下
video = MediaManager.createMedia(videostream, "video/mp4", new Runnable() {
@Override
public void run() {
videoIsPlaying = false;
videoCounter++;
}
});
video.setNativePlayerMode(true);
newmp = new MediaPlayer(video);
newmp.setAutoplay(true);
newmp.hideControls();
newmp.setHideNativeVideoControls(true);
我会把它分成两个过程:
- 下载
- 播放
您可以将视频下载到本地文件系统,播放该文件。通过分离,您还可以在下载过程中创建令人愉悦的进度动画,甚至提供下载速度指示。
一个简单的 download/play 过程看起来像这样:
import static com.codename1.ui.CN.*;
然后 playback/download:
String f = getAppHomePath() + "videoName.mp4";
if(Util.downloadUrlToFile(url, f, true)) {
video = MediaManager.createMedia(f, () -> {
videoIsPlaying = false;
videoCounter++;
});
}