#java #android #video #coffeescript
#java #Android #Видео #coffeescript
Вопрос:
public class MainActivity extends AppCompatActivity {
Button clk;
VideoView videov;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
clk=(Button) findViewById(R.id.video);
videov=(VideoView)findViewById(R.id.videoView);
}
public void videoplay(View v){
String videopath = "android.resource://" getPackageName() " R.raw.movie";
Uri uri =Uri.parse(videopath);
videov.setVideoURI(uri);
videov.requestFocus();
videov.start();
}
}
Не удается воспроизвести это видео ошибка …!! смотрите Снимок экрана
Что делать?
После нажатия кнопки воспроизведения он говорит, что не может воспроизвести это видео ..!!
Требуется решение этой проблемы.
Комментарии:
1. Да, это произошло, вам следует использовать стороннюю библиотеку
2. можете ли вы сказать мне, как, пожалуйста
3. конечно, пожалуйста, подождите..
Ответ №1:
Привет, позавчера у меня была такая же проблема, и я перепробовал почти все, но не добился никакого успеха. После этого я использовал эту библиотеку, и она работала нормально. Просто выполните несколько шагов:
Шаг 1.Добавьте его в свой gradle
compile "fm.jiecao:jiecaovideoplayer:4.7.0"
Шаг 2.Добавьте его в качестве воспроизведения видео в XML-макете.
<fm.jiecao.jcvideoplayer_lib.JCVideoPlayerStandard
android:id="@ id/videoPlayer"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Шаг 3.Проверьте здесь, как использовать эту библиотеку в вашем классе,
public class PlayVideoActivity extends BaseActivity {
@BindView(R.id.videoPlayer)
JCVideoPlayerStandard mVideoPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
restoreFromIntent(getIntent());
}
@Override
public int getLayout() {
return R.layout.activity_play_video;
}
//create intent for this activity with all the necessary params
public static Intent createIntent(Context context, String videoUrl) {
Intent intent = new Intent(context, PlayVideoActivity.class);
intent.putExtra(ValueConstants.VIDEO_URL, videoUrl);
return intent;
}
// get video path from intent and play the video here
private void restoreFromIntent(Intent intent) {
String videoPath = intent.getExtras().getString(ValueConstants.VIDEO_URL);
mVideoPlayer.setUp(videoPath
, JCVideoPlayerStandard.SCREEN_LAYOUT_LIST, "");
}
@Override
public void onBackPressed() {
if (JCVideoPlayer.backPress()) {
return;
}
super.onBackPressed();
}
@Override
protected void onPause() {
super.onPause();
JCVideoPlayer.releaseAllVideos();
}
}
Еще один бонус с моей стороны. Вы также можете использовать кэширование видео, используя эту библиотеку. Вчера я тоже нашел это.Одноразовая игра из интернета.После этого играйте и без интернета.
Обновленный ответ:
Приведенный выше пример, который я привел для воспроизведения онлайн-видео с URL-адреса, но у этого вопроса есть проблема, связанная с проблемой пути к видео.
Просто изменил этот путь:
String videopath = "android.resource://" getPackageName() " R.raw.movie";
Uri uri =Uri.parse(videopath);
К этому,
Uri uri = Uri.parse("android.resource://" getPackageName() "/" R.raw.yourvideo);
Спасибо, надеюсь, это вам поможет.
Комментарии:
1. Я не знаю, как вас благодарить ..!! но теперь вы для меня как бог, Спасибо за помощь 🙂
2. Нет проблем, попробуйте этот способ и дайте мне знать, если у вас возникнут какие-либо проблемы
3. Как добавить шаг 1 в gradle?
4. В зависимости.. просто скопируйте и вставьте
5. Да, только то, что вам нужно