亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Exoplayer 活動不播放視頻,而是顯示空屏幕

Exoplayer 活動不播放視頻,而是顯示空屏幕

UYOU 2024-01-05 19:57:45
我是 android studio 的新手,在開發人員指南的幫助下我創建了這個exoplayer activity,但它沒有播放視頻,而是顯示一個空屏幕。我button在 MainActivity 中創建了一個,當我單擊該按鈕時,它應該打開此播放器活動并播放我的 hls 流媒體。請幫忙我的 playlive .xml<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res-auto"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context=".playlive">    <com.google.android.exoplayer2.ui.PlayerView        android:id="@+id/exo_buffering"        android:layout_width="match_parent"        android:layout_height="match_parent"        android:focusable="true"        app:resize_mode="fill"        /></androidx.constraintlayout.widget.ConstraintLayout>主要活動package com.example.mystream;import androidx.appcompat.app.AppCompatActivity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.WindowManager;import android.widget.Button;public class MainActivity extends AppCompatActivity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);        try {            this.getSupportActionBar().hide();        }catch (Exception e){        }        Button button = findViewById(R.id.button);        button.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                Intent activity2Intent = new Intent(getApplicationContext(), playlive.class);                startActivity(activity2Intent);            }        });    }}
查看完整描述

2 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

問題似乎在這兩行


HlsMediaSource hlsMediaSource =new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(uri); 

uri= Uri.parse("http://localhost:1935/live/mystream/index.m3u8");

您嘗試在初始化之前傳遞 uri,這導致了問題。


嘗試先初始化如下


uri= Uri.parse("http://localhost:1935/live/mystream/index.m3u8");

然后使用它


HlsMediaSource hlsMediaSource =new HlsMediaSource.Factory(dataSourceFactory).createMediaSource(uri); 

這應該可以解決你的問題。


查看完整回答
反對 回復 2024-01-05
?
幕布斯7119047

TA貢獻1794條經驗 獲得超8個贊

這是您的要求的詳細描述。


檢查網絡連接的方法


private boolean checkConnection(Context context) 

    {

        final ConnectivityManager mConnMngr= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);


        if (mConnMngr!= null) {

            NetworkInfo mNetworkInfo = mConnMngr.getActiveNetworkInfo();


            if (mNetworkInfo != null) {

                if ((mNetworkInfo .getType() == ConnectivityManager.TYPE_WIFI) {

                    return true;

                } else return mNetworkInfo.getType() == ConnectivityManager.TYPE_MOBILE;

            }

        }

        return false;

    }

權限


<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

用法


if (checkConnection(context)) {

   play(); 

} else {

   Toast.makeText(context,"No internet available!",Toast.LENGTH_LONG).show()

}


查看完整回答
反對 回復 2024-01-05
  • 2 回答
  • 0 關注
  • 213 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號