【问题标题】:How to Play mp4 Video in Android Emulator Using Remote URL?如何使用远程 URL 在 Android 模拟器中播放 mp4 视频?
【发布时间】:2011-09-28 17:58:09
【问题描述】:

如何使用远程 URL 在 Android 模拟器中播放 mp4 视频?我使用了以下代码,但此代码给我错误“抱歉,无法播放此视频”。

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&current=Video013.mp4"; videoView.setMediaController(mediaController); videoView.setVideoURI(Uri.parse(Video)); videoView.start(); } }

【问题讨论】:

  • 模拟器也没有为我播放 mp4 视频。我用设备测试过,效果很好。通过我将视频网址粘贴到浏览器中,视频链接似乎已损坏..
  • Mp4 视频正在模拟器上运行,但不能来自远程 URL,只能来自本地文件。
  • 您是否在设备上尝试过。对我来说,在模拟器上只能播放 3gp,在设备上我也可以播放 mp4。正如我所提到的,问题中的视频网址似乎已损坏。
  • 不,我在模拟器上试过了。它工作得很好,但只能播放本地文件。

标签: android


【解决方案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);
      }
      

      }

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-03
        • 2013-06-28
        • 2012-01-06
        • 1970-01-01
        相关资源
        最近更新 更多