如何让 VideoView 播放带有 Drive 链接的视频?

Posted

技术标签:

【中文标题】如何让 VideoView 播放带有 Drive 链接的视频?【英文标题】:How do I make the VideoView play the video with the Drive link? 【发布时间】:2021-10-29 00:58:24 【问题描述】:

所以我试图让 VideoView 播放带有云端硬盘链接的视频。我做了网络安全配置,视频还是不能播放(“你的视频不能播放。”)我意识到问题不是代码,而是链接。我尝试了来自已经制作的玩家的链接,有些工作没有。我只想让视频工作。使用驱动链接或其他方法。我要告诉你我做了什么。如果有人能帮助我,我将不胜感激。

代码:

 VideoView videoView = findViewById(R.id.SY);
    Uri uri = Uri.parse("https://drive.google.com/file/d/1CRJ8tL-DyjD0Nwd7ezkboGm6570zMf4C/view?usp=sharing");
    videoView.setVideoURI(uri);

    MediaController mc = new MyMediaController(videoView.getContext());
    mc.setMediaPlayer(videoView);
    videoView.setMediaController(mc);

    videoView.start();

    videoView.setOnCompletionListener(mp -> onBackPressed());

网络xml:

<network-security-config>
<domain-config>
    <domain includeSubdomains="true">diligent_app.com</domain>
    <trust-anchors>
        <certificates src="system"/>
    </trust-anchors>
</domain-config>
Manifest:
        android:usesCleartextTraffic="true"
        android:networkSecurityConfig="@xml/network"

我得到的错误

2021-08-30 14:53:35.338 4582-7140/? E/WindowManager: win=Window4c93299 
u0 com.example.diligent/com.diligent_app.diligent.yoga.Yoga 
destroySurfaces: appStopped=true win.mWindowRemovalAllowed=false 
win.mRemoveOnExit=false win.mViewVisibility=8 
caller=com.android.server.wm.ActivityRecord.destroySurfaces:5227 
com.android.server.wm.ActivityRecord.destroySurfaces:5208 
com.android.server.wm.ActivityRecord.notifyAppStopped:5267 
com.android.server.wm.ActivityRecord.activityStopped:5894 
com.android.server.wm.ActivityTaskManagerService.activityStopped:2584 
android.app.IActivityTaskManager$Stub.onTransact:2215 
android.os.Binder.execTransactInternal:1190 
2021-08-30 14:53:35.605 4302-16264/? E/GenericSource: text/html from 
getMIMEType()
2021-08-30 14:53:35.605 12855-15380/com.example.diligent 
E/MediaPlayerNative: error (1, -1015)
2021-08-30 14:53:35.606 12855-12855/com.example.diligent E/MediaPlayer: 
Error (1,-1015)
2021-08-30 14:53:37.695 4582-6879/? E/TaskPersister: File error 
accessing recents directory (directory doesn't exist?).
2021-08-30 14:53:42.774 4582-4618/? E/BatteryStatsService: Unable to load 
Power Hal or power.stats HAL

提前谢谢你。

【问题讨论】:

【参考方案1】:

URL 中带有sharing 的链接只会将您带到一个网页(不是视频数据)。

要将视频数据下载到播放器中,请尝试:

Uri uri = Uri.parse("https://drive.google.com/uc?export=download&id=1CRJ8tL-DyjD0Nwd7ezkboGm6570zMf4C");

【讨论】:

非常感谢,先生。你救了我。

以上是关于如何让 VideoView 播放带有 Drive 链接的视频?的主要内容,如果未能解决你的问题,请参考以下文章

如何让 videoView 在片段内播放?

带有“ 307临时重定向”的Android VideoView播放URL

“无法播放此视频”错误使用带有 VideoView 和 Mediacontroller 的 URL

WebView 中的 VideoView 不会播放视频?

无法让 Vitamio VideoView 播放普通 Android VideoView 会播放的视频文件

有没有办法让 VideoView 在 Android 应用程序的后台继续播放?