如何使用远程 URL 在 Android 模拟器中播放 mp4 视频?
Posted
技术标签:
【中文标题】如何使用远程 URL 在 Android 模拟器中播放 mp4 视频?【英文标题】:How to Play mp4 Video in Android Emulator Using Remote URL? 【发布时间】:2011-09-28 17:58:09 【问题描述】:我使用了以下代码,但此代码给我错误“抱歉,无法播放此视频”。
07-05 16:58:19.525: INFO/AwesomePlayer(34): mConnectingDataSource->connect() 返回 -1007 07-05 16:58:19.525: 错误/MediaPlayer(1242): 错误 (1, -1007) 07-05 16:58:19.525: 错误/MediaPlayer(1242): 错误 (1,-1007) 07-05 16:58:19.525:调试/视频视图(1242):错误:1,-1007我的代码是:-
公共类 VideoPlayerController 扩展 Activity @覆盖 公共无效 onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); 设置内容视图(R.layout.main); VideoView videoView = (VideoView) findViewById(R.id.VideoView); 媒体控制器 mediaController = new MediaController(this); mediaController.setAnchorView(videoView); 字符串视频="http://s509.photobucket.com/albums/s338/eveanthony/?action=view¤t=Video013.mp4"; videoView.setMediaController(mediaController); videoView.setVideoURI(Uri.parse(Video)); videoView.start();【问题讨论】:
模拟器也没有为我播放 mp4 视频。我用设备测试过,效果很好。通过我将视频网址粘贴到浏览器中,视频链接似乎已损坏.. Mp4 视频正在模拟器上运行,但不能来自远程 URL,只能来自本地文件。 您是否在设备上尝试过。对我来说,在模拟器上只能播放 3gp,在设备上我也可以播放 mp4。正如我所提到的,问题中的视频网址似乎已损坏。 不,我在模拟器上试过了。它工作得很好,但只能播放本地文件。 【参考方案1】:您需要在原始设备而不是模拟器上执行该应用程序,因为它不支持播放视频文件。在极少数情况下它可能会,但它确实取决于您的系统配置。
【讨论】:
【参考方案2】:android 4.1.2 版本似乎在 youtube 应用程序的模拟器中播放 mp4 视频,而不是其他地方。我测试了它。英特尔和非英特尔版本都可以工作。 4.0.3 没玩过。
【讨论】:
【参考方案3】:private VideoView myVideoView;
private int position = 0;
private ProgressDialog progressDialog;
private MediaController mediaControls;
@Override
protected void onCreate(final Bundle savedInstanceState)
super.onCreate(savedInstanceState);
private static final String Videos_URL = "*Your_URI*";
// Get the layout from video_main.xml
setContentView(R.layout.activity_main);
// Find your VideoView in your video_main.xml layout
myVideoView = (VideoView) findViewById(R.id.videoView);
// Create a progressbar
progressDialog = new ProgressDialog(this);
// Set progressbar title
progressDialog.setTitle("Anything u Want");
// Set progressbar message
progressDialog.setMessage("Loading...");
progressDialog.setCancelable(false);
// Show progressbar
progressDialog.show();
try
Uri video = Uri.parse(Videos_URL);
myVideoView.setVideoURI(video);
myVideoView.setMediaController(mediaControls);
catch (Exception e)
Log.e("Error", e.getMessage());
e.printStackTrace();
myVideoView.requestFocus();
myVideoView.setOnPreparedListener(new OnPreparedListener()
// Close the progress bar and play the video
public void onPrepared(MediaPlayer mp)
progressDialog.dismiss();
myVideoView.seekTo(position);
if (position == 0)
myVideoView.start();
else
myVideoView.pause();
);
@Override
public void onSaveInstanceState(Bundle savedInstanceState)
super.onSaveInstanceState(savedInstanceState);
savedInstanceState.putInt("Position", myVideoView.getCurrentPosition());
myVideoView.pause();
@Override
public void onRestoreInstanceState(Bundle savedInstanceState)
super.onRestoreInstanceState(savedInstanceState);
position = savedInstanceState.getInt("Position");
myVideoView.seekTo(position);
【讨论】:
以上是关于如何使用远程 URL 在 Android 模拟器中播放 mp4 视频?的主要内容,如果未能解决你的问题,请参考以下文章