ビデオをストリーミングして、VideoView を使用して再生しようとしています。以下に示すように、 setVideoURI() を使用してビデオのソース URL をビューに提供します。urlString = "www.myvideoserver.com/videos/bigbuckbunny.mp4" のようなハードコーディングされた値を使用すると、ビデオは正常に再生されます。ただし、インテント (ユーザーがビデオを選択した前のアクティビティから取得) から値が urlString に渡されると、「申し訳ありませんが、ビデオを再生できません」というメッセージが表示されます。こことここで説明されているように、一般的な原因の1つはビデオ形式であることを読みました. URLが修正されたときにビデオを再生できるため、フォーマットの問題ではないことはほぼ確実です(そして、Log.d( "PVurl"、urlString)からわかるので、urlStringの値が私が修正したものとまったく同じです。つまり、LogCat では、値を行にコピー ペーストしますurlString = getIntent()... // "www.myvideoserver.com/videos/bigbuckbunny.mp4"
。urlString がインテントの戻り値に設定されている場合は動作しません。LogCat エラー パネルには次のように表示されます。
04-13 17:35:32.786: ERROR/MediaPlayer(2620): error (1, -1007)
04-13 17:35:32.786: ERROR/MediaPlayer(2620): Error (1,-1007)
インターネットで検索しましたが、以前にこのようなエラー コードに遭遇した人はないようです。
何が問題なのか、誰かが何か考えているなら、私は非常に感謝しています。ありがとう!
public void playvideo () { // obtain URL of the requested video from the intent in previous activity
try
{
urlString = getIntent().getStringExtra("mypackage.fulladdr");
if (urlStr != null)
{
Log.d("PVurl", urlString);
VideoView v = (VideoView) findViewById(R.id.videoView1);
// play video
v.setVideoURI(Uri.parse(urlString));
v.setMediaController(new MediaController(this));
v.start();
v.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
showRatingDialog();
}
});
}
}
catch (Exception e)
{
Log.d("PV_TAG", +e.getMessage());
e.printStackTrace();
}
}