首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我使用此代码在下载过程中播放视频,但当我尝试播放时,video_view无法播放视频

问题描述:我使用此代码在下载过程中播放视频,但当我尝试播放时,video_view无法播放视频。

回答:

这个问题涉及到在下载过程中播放视频的情况,可能是由于视频文件还未完全下载完成导致无法播放。在下载过程中直接播放视频是一种较为复杂的操作,需要确保视频文件已经完全下载完成后再进行播放。

解决这个问题的方法有两种:

  1. 下载完成后再播放:在下载过程中,将视频文件下载到本地存储中,等待下载完成后再进行播放。可以使用Android中的DownloadManager来进行文件下载,下载完成后再使用video_view进行播放。具体实现步骤如下:
  • 使用DownloadManager下载视频文件,设置下载完成后的存储路径。
  • 监听下载完成的广播,当下载完成后,获取下载的文件路径。
  • 使用video_view设置视频路径,并进行播放。

示例代码如下:

代码语言:java
复制

// 下载视频文件

DownloadManager.Request request = new DownloadManager.Request(Uri.parse("视频文件的URL"));

request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "video.mp4");

DownloadManager downloadManager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);

long downloadId = downloadManager.enqueue(request);

// 监听下载完成的广播

BroadcastReceiver receiver = new BroadcastReceiver() {

代码语言:txt
复制
   @Override
代码语言:txt
复制
   public void onReceive(Context context, Intent intent) {
代码语言:txt
复制
       long id = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1);
代码语言:txt
复制
       if (id == downloadId) {
代码语言:txt
复制
           // 下载完成,获取下载的文件路径
代码语言:txt
复制
           DownloadManager.Query query = new DownloadManager.Query();
代码语言:txt
复制
           query.setFilterById(downloadId);
代码语言:txt
复制
           Cursor cursor = downloadManager.query(query);
代码语言:txt
复制
           if (cursor.moveToFirst()) {
代码语言:txt
复制
               String filePath = cursor.getString(cursor.getColumnIndex(DownloadManager.COLUMN_LOCAL_URI));
代码语言:txt
复制
               // 使用video_view设置视频路径,并进行播放
代码语言:txt
复制
               video_view.setVideoPath(filePath);
代码语言:txt
复制
               video_view.start();
代码语言:txt
复制
           }
代码语言:txt
复制
           cursor.close();
代码语言:txt
复制
       }
代码语言:txt
复制
   }

};

// 注册广播接收器

registerReceiver(receiver, new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE));

代码语言:txt
复制
  1. 边下载边播放:如果需要在下载过程中边下载边播放视频,可以使用流媒体技术来实现。流媒体技术可以在视频文件还未完全下载完成时就开始播放已下载的部分内容。可以使用Android中的MediaPlayer配合HttpURLConnection来实现流媒体播放。具体实现步骤如下:
  • 使用HttpURLConnection请求视频文件的URL,并设置请求头Range字段,指定下载的起始位置。
  • 获取到视频文件的输入流后,使用MediaPlayer进行播放。

示例代码如下:

代码语言:java
复制

// 请求视频文件

URL url = new URL("视频文件的URL");

HttpURLConnection connection = (HttpURLConnection) url.openConnection();

connection.setRequestProperty("Range", "bytes=0-");

// 获取视频文件的输入流

InputStream inputStream = connection.getInputStream();

// 使用MediaPlayer进行播放

MediaPlayer mediaPlayer = new MediaPlayer();

mediaPlayer.setDataSource(inputStream.getFD());

mediaPlayer.prepare();

mediaPlayer.start();

代码语言:txt
复制

以上是两种解决在下载过程中播放视频的方法,具体选择哪种方法取决于你的需求和场景。另外,为了提高视频播放的性能和用户体验,可以考虑使用视频流媒体服务器来存储和传输视频文件,例如腾讯云的云点播服务(https://cloud.tencent.com/product/vod)可以满足这个需求。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

LinkedIn:用数据提高视频性能

在播放期间捕获数据 我们的系统捕获反应视频在播放过程中如何执行的大量数据。...急切加载DOM中的所有视频 在LinkedIn,我们已经尝试了预先加载视频的和延迟加载视频。预先加载视频是在视频进入DOM后立即开始下载视频。...乍一看,这个实验是成功的,因为它减少了PTTS,意味着视频开始播放的时间更短了。然而,当我们仔细研究指标时,我们发现了一些有趣的结果。...鉴于地铁的互联网连接较弱,会员在加载内容方面已经面临滞后,更不用说视频资产了。在急切加载的情况下,我们不仅在视口中下载内容,我们还尝试在幕后加载视频。...它通过在视口外部加载视频来完成此操作,但只有在视口中的视频成功加载后才能这样做。

65210

如何利用免版税视频流技术构建优质视频体验?

互联网基础应当建立在不受专利限制的开放技术之上,但当我们在互联网上观看视频时所面对的情形却截然不同。...也许是的,但当我们谈起在线视频流媒体生态系统时需要知道,其背后不仅仅只是一个视频编解码器。 目的 我认为无版权视频技术的挑战是基于“开源”的视频技术为尽可能多的消费者建立一个优质的视频流访问体验。...此测试过程可在浏览器中自行运作,方法是在不同的浏览器中使用此链接,相关源代码可以在Github上被找到。...,MP4仍可以在任何设备上播放但开源视频编解码器却无法在iOS平台上成功播放,这意味着全世界最受欢迎的移动终端设备不支持开源视频编解码器。...2019年,在为FOSDEM准备此演讲时我再次拒绝了SASH,原因是在我的研究里缺乏完全开源的ABR技术。从那以后,我花时间回顾了我4年前做出的决定并尝试改进设计以满足更多实际案例的需求。

3.3K30
  • video标签在不同平台上的事件表现差异分析

    onvolumechange script 每当音量改变时(包括将音量设置为静音)时运行的脚本 onwaiting script 当媒介已停止播放但打算继续播放时(比如当媒介暂停已缓冲更多数据)运行脚本...测试直接使用最简单的方式,在页面上添加video标签播放视频,视频设置循环播放属性loop。...:一般是由于网络状况不佳,导致视频下载中断 一致 可能在play()事件触发前 play play()事件触发,状态是开始播放,但视频并未真正开始播放 一致 一致 waiting play()事件触发后...| 目前可以监控的事件有以下几点: 1、 视频加载时间 play事件触发时间 至 timeupdate事件第一次currentTime 属性值发生变化时,在加载过程中可用suspend判断是否有手动暂停...要尽可能的实时监控视频流是否中断,目前还是尝试使用video对象的buffered属性, 因为视频断流意味着buffered缓冲区不会再发生变化。

    2.5K60

    video标签在不同平台上的事件表现差异分析

    onvolumechange script 每当音量改变时(包括将音量设置为静音)时运行的脚本 onwaiting script 当媒介已停止播放但打算继续播放时(比如当媒介暂停已缓冲更多数据)运行脚本...测试直接使用最简单的方式,在页面上添加video标签播放视频,视频设置循环播放属性loop。...:一般是由于网络状况不佳,导致视频下载中断 一致 可能在play()事件触发前 play play()事件触发,状态是开始播放,但视频并未真正开始播放 一致 一致 waiting play()事件触发后...| 目前可以监控的事件有以下几点: 1、 视频加载时间 play事件触发时间 至 timeupdate事件第一次currentTime 属性值发生变化时,在加载过程中可用suspend判断是否有手动暂停...要尽可能的实时监控视频流是否中断,目前还是尝试使用video对象的buffered属性, 因为视频断流意味着buffered缓冲区不会再发生变化。

    1.2K20

    RTSP协议探究和RTSP播放器技术实现

    设置回调PCMNT_SP_SetIsOutputAudioDevice:设置是否播放出声音,这个和静音接口是有区别的,这个接口的主要目的是为了用户设置了外部PCM回调接口后,又不想让SDK播放出声音时使用...为了方便使用,有些场景下可以开启自动尝试切换开关, 打开后如果udp无法播放,sdk会自动尝试tcp, 如果tcp方式播放不了,sdk会自动尝试udp, is_auto_switch_tcp_udp:...如果设置1的话, sdk将在tcp和udp之间尝试切换播放,如果设置为0,则不尝试切换;NT_SP_SetFastStartup:设置秒开, 1为秒开, 0为不秒开,此接口用于如RTMP服务器缓存GOP...时,酌情使用;NT_SP_SetLowLatencyMode:设置低延时播放模式,默认是正常播放模式,mode: 1为低延时模式, 0为正常模式,低延迟模式下,可能会导致音视频不同步,或视频帧不均匀;NT_SP_SetReportDownloadSpeed..., 大多数问题,这些接口都能解决;播放前后可实时调用的接口NT_SP_SetMute:播放过程中,实时静音、取消静音,可播放之前调用,亦或播放过程中实时调用;NT_SP_SetAudioVolume:不同于实时静音接口

    38010

    视频播放优化浅析

    带着这些问题,本文尝试从播放器的原理开始着手,梳理一下在Android客户端上的播放架构的演进,以及在播放体验的核心指标的优化上,针对不同场景所作出的各种优化。 本文目录结构: ?...虽然NuPlayer有很好的架构,他也可以通过扩展Datasource+Extrator来支持更多下载协议和封装格式,通过Decoder来扩展支持的解码格式,但这些对我们都是黑盒,我们无法自定义下载协议...MediaPlayer还有一个点就是如果播放网络源视频的话,会遇到将缓存文件删除的情况,每次播放都有可能需要下载一遍视频,无法做到播放完了之后,以后就播放缓存文件。...总结来说MediaPlayer的优点就是接入简单, 方便;但缺点也很明显,我们无法控制播放和下载流程, 比如边下边播的缓存策略;当我们想做一些自定义策略的时候往往会很困难。...三、播放链路分析 在播放视频的过程中,除了能成功播放视频,播放过程中不卡顿外,能不能在点击视频时瞬间起播,是一个在用户体验上非常重要的点。

    4.5K20

    ALHLS:Apple低延迟HLS技术

    而当需要低延迟传送时,这些传统HTTP请求的开支将成为决定“Well-Clock”延迟下限的重要条件。 Apple解决此问题的新方法是,使用HTTP/2推送那些在播放列表请求响应中较短的媒体“部件”。...我认为通过更多的思考和设计,此方案可能非常有用,特别是如果(ALHLS还有一种方法可以在播放列表响应中推送CMAF流的初始化段,将会极大增加它的可用性。...而现在,生成播放列表时ALHLS必须执行更多逻辑,包括在某些情况下,当组件处于可被下载状态时挂起连接一段时间。 在我看来,ALHLS并不是一个糟糕的规范。...而阻止播放列表请求会让情况变得更糟:测量阻塞播放列表提取的性能以及段加载无法得到准确的测量结果,也无法将播放列表下载性能用作代理。...我们必须假设Apple有一种方法可以在使用HTTP/2时,在自己的设备上测量下载性能,原因如下: 1. 这是Apple实现让低延迟策略与自适应码律一起工作的唯一方式,并且...... 2.

    1.9K30

    Mimir:通过AI向所有人提供视频服务

    Vimeo播放器包含一组非常明确的规则,用于在小缓冲区的约束下下载和播放视频。例如,当一个视频切片的下载时间超过8秒时,就会发生下载超时错误。...下载超时惩罚:如果存在下载超时错误,那么该视频切片实际上是无法下载的,所以这个惩罚抵消了Q(),也是对消耗过多CDN成本的惩罚。 在传统的 ABR 算法中,这些规则很难插入到现有的优化逻辑中。...在图3所示的测试播放过程中,吞吐量(紫线)在1~4 Mbps之间快速波动,像这样的快速波动在高峰时段是经常发生的。Mimir始终在传输720p的视频流。...第一次超时错误之后,如果不经过手动编程,它是无法降低视频质量的。 图3: 播放过程测试 在图 4 所示的第二个播放过程中,吞吐量的波动较小,但随后出现了一次大幅下降。...当我们为一个视频切片发送HTTP请求时,总的下载时间(dT)由两部分组成:首字节时间(time-to-first-byte,TTFB)和下载时间(dt),dt由视频切片大小(size)除以吞吐量(throughout

    57720

    Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

    测试VLC功能在设备上打开VLC应用,并尝试播放一些音频或视频文件,特别是RTSP流等流媒体内容。确保音频和视频播放正常,没有崩溃或错误发生。...VLC的Android版本可能不包含桌面版本的所有功能,因此在集成时需要仔细评估所需功能是否可用。2..../PCMA/PCMU数据回调; [音视频自适应]支持播放过程中,音视频信息改变后自适应; [扩展录像功能]完美支持和录像SDK组合使用。...实时下载速度反馈: 大牛直播SDK提供音视频流实时下载回调,并可设置回调时间间隔,确保实时下载速度反馈,以此来监听网络状态,开源播放器不具备此能力;12....TCP-UDP自动切换: 这个是更细力度的接口,比如默认设置了TCP模式,TCP模式下收不到数据,超时后,自动切换到UDP模式尝试,一般开源播放器不具备此功能;20.

    1.4K10

    ALHLS:Apple低延迟HLS技术

    而当需要低延迟传送时,这些传统HTTP请求的开支将成为决定“Well-Clock”延迟下限的重要条件。 Apple解决此问题的新方法是,使用HTTP/2推送那些在播放列表请求响应中较短的媒体“部件”。...我认为通过更多的思考和设计,此方案可能非常有用,特别是如果(ALHLS还有一种方法可以在播放列表响应中推送CMAF流的初始化段,将会极大增加它的可用性。...而现在,生成播放列表时ALHLS必须执行更多逻辑,包括在某些情况下,当组件处于可被下载状态时挂起连接一段时间。 在我看来,ALHLS并不是一个糟糕的规范。...而阻止播放列表请求会让情况变得更糟:测量阻塞播放列表提取的性能以及段加载无法得到准确的测量结果,也无法将播放列表下载性能用作代理。...我们必须假设Apple有一种方法可以在使用HTTP/2时,在自己的设备上测量下载性能,原因如下: 1. 这是Apple实现让低延迟策略与自适应码律一起工作的唯一方式,并且...... 2.

    1.4K10

    Windows平台RTSP|RTMP播放端SDK集成说明

    ,无需设置; NT_SP_SetUserDataCallBack:设置用户数据回调,此接口需要和推送端SDK配套使用,用于返回推送端设定的实时用户数据(如时间戳、经纬度等各种扩展指令或信息),如只是单纯使用播放...播放出声音时使用。...为了方便使用,有些场景下可以开启自动尝试切换开关, 打开后如果udp无法播放,sdk会自动尝试tcp, 如果tcp方式播放不了,sdk会自动尝试udp, is_auto_switch_tcp_udp:...如果设置1的话, sdk将在tcp和udp之间尝试切换播放,如果设置为0,则不尝试切换; NT_SP_SetFastStartup:设置秒开, 1为秒开, 0为不秒开,此接口用于如RTMP服务器缓存GOP...时,酌情使用; NT_SP_SetLowLatencyMode:设置低延时播放模式,默认是正常播放模式,mode: 1为低延时模式, 0为正常模式,低延迟模式下,可能会导致音视频不同步,或视频帧不均匀;

    97900

    LinkedIn Feed流视频自动播放架构演进

    如果视频处于有声播放的状态则不适用于此项策略:当视频处于有声播放时,只有当用户对视频内容表现出足够的兴趣并希望在滚动视频Feed流时继续播放此视频,我们才会允许其在后台继续播放。...在设计自动播放解决方案时,我们一定要考虑处于带宽资源不佳区域的会员并对其提供特别优化,避免由于用户浏览至视频播放窗口时使用大量带宽资源下载视频对有限网络资源的过度消耗。 连接类型:考虑不同的连接类型。...在使用自动播放功能的情景下,我们不使用后台加载视频的策略以避免网络拥塞;相反,我们会优先下载当前处于播放窗口的视频数据以确保用户浏览至播放窗口时视频自动播放的成功与及时。...视频加载策略 当我们制定视频加载策略时,如果您希望确保所有用户在您的网站上都拥有最佳的用户体验,那么重点关注前文所介绍的诸多影响性能的因素至关重要。...当我们在后台下载视频资源时,允许播放窗口下载视频数据的可用带宽较少;除了带宽问题之外,移动设备和桌面设备上的浏览器能够并行处理的HTTP请求数量十分有限。

    1.6K20

    AVKit框架详细解析(二) —— 基于视频播放器的画中画实现(一)

    如果您违反此规则,App Review 将不会批准您的应用! 构建并运行。 打开视频并点击按钮以启动画中画。 太棒了! PiP 开始在自定义控制器中播放,但您还没有完成。...目前,当视频在画中画窗口中播放时,示例应用程序会显示一条消息。您可以使用画中画控制器代理中的方法来控制画中画播放开始和结束时发生的情况。...但是,如果您构建并运行并尝试此操作,您将看到画中画窗口立即关闭。 这是因为您的自定义播放器对象被释放,这是唯一保留画中画控制器的东西,因此也被释放。...---- Restoring the Player Controller 现在,当您开始以画中画模式播放视频时,您可以完全关闭窗口,但无法返回全屏。...对于这两种类型的播放器控制器,当用户在画中画窗口中点击Restore时,代理扩展会调用此方法。

    2.9K10

    Google VR技术大揭秘

    SDK下载 sdk地址: git clone https://github.com/googlevr/gvr-android-sdk.git 运行官网项目 在使用之前,我们先运行下官网的项目。...导入gvr-android-sdk到Android Studio, 同步的过程中需要下载很多库所以会比较耗时,另外可能出现build失败的情况,这时可以尝试使用本地的gradle来编译。...在真机上运行时,会有一个Cardboard选项。点击上图红色框中的按钮即可进入Cardboard模式。 ? Demo代码的主要逻辑就是加载一张全景图放入VrPanoramaView中。...treasurehunt treasurehunt展示了一个简单到离谱的寻宝游戏,当vr世界中矩形变成金黄色时,点击手机屏幕或者使用Daydream的控制器,即可完成寻宝。游戏还伴有音效。 ?...controllerclient 接收DayDream控制器输入示例 videoplayer 使用Asynchronous Reprojection播放视频示例 全景图(PanoramaActivity

    1.3K60

    Android TV 开发之 TV视频播放器

    不够完整,而有一些项目还要你给积分才能去下载看,不够开源,痛定思痛,我决定自己弄一个开源的项目出来,自己来维护,学习中开发,也有可能TV这方面的文章我还会写,也有可能只写这一篇,接下来我们从创建TV项目开始...本地 和 网络 2.播放视频的的停止播放、继续播放、重新播放 3.播放视频时的时间和进度计算 4.播放时候按遥控器左右键时,前进 后退 先想清楚这些问题,才能使编码过程中变得有条理 视频来源...本地: 我们可以在valuse文件夹下面创建一个raw文件夹,在里面放一个mp4短视频文件,(PS:至于在真机存储里面放一个视频,你只要播放路径指定这个视频所在地址,然后再加上文件的读写权限,因为我不是这么实现的...String hostname, SSLSession session) { return true; } } } 这个类主要是针对于 VideoView 无法播放此视频...,类似于 此视频无法播放 这样的错误提示 videoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {

    6.8K71

    Google VR技术大揭秘

    SDK下载 sdk地址: git clone https://github.com/googlevr/gvr-android-sdk.git 运行官网项目 在使用之前,我们先运行下官网的项目。...导入gvr-android-sdk到Android Studio, 同步的过程中需要下载很多库所以会比较耗时,另外可能出现build失败的情况,这时可以尝试使用本地的gradle来编译。...在真机上运行时,会有一个Cardboard选项。点击上图红色框中的按钮即可进入Cardboard模式。 ? Demo代码的主要逻辑就是加载一张全景图放入VrPanoramaView中。...treasurehunt treasurehunt展示了一个简单到离谱的寻宝游戏,当vr世界中矩形变成金黄色时,点击手机屏幕或者使用Daydream的控制器,即可完成寻宝。游戏还伴有音效。 ?...controllerclient 接收DayDream控制器输入示例 videoplayer 使用Asynchronous Reprojection播放视频示例 全景图(PanoramaActivity

    1.5K80

    Qzone视频下载如何做到多快好省?

    这种方式非常简单,但其中最大的问题就是整个过程中的数据流完全由MediaPlayer控制,我们无法控制下载和播放的过程,也就导致我们没有办法提高成功率,优化用户体验。...快 国外SmartBear的研究表明,57%的用户在3秒没有加载完网页时就会放弃。在视频播放上,加快视频的加载速度,减少播放过程中的卡顿,对提高用户观看视频的体验有极大的帮助。...但视频数据的预加载不能跟当前播放的视频抢下载带宽,因此我们选择以当前播放视频的播放进度和数据缓存量为维度,当两者同时达到一个阀值时开始下载下一个视频的数据。...最初的缓存方案是针对单个视频按照顺序缓存,这样实现简单,但存在的问题就是无法对于播放空洞(非顺序播放场景,例如拖动、续播等)进行缓存,这降低了视频的缓存率和缓存命中率,增加了带宽成本和视频的缓冲时长。...下层代理在下载数据时,为了减少对于别的业务影响,不会占用全部的带宽,但当发生频繁的网络切换时,下载代理会主动突破速度的限制,尽可能快的在网络情况良好时下载数据,给之后的播放留下足够的数据Buffer,保证整体播放的流畅性

    1.2K100

    新版谷歌Chrome播放海康大华RTSP视频流解决方案

    实际使用时,由于需要在服务器端搭建一个始终高负荷运转的视频转码转流服务,CPU和内存消耗大,带宽占用大,长期使用成本很高,如果摄像头路数比较多或在线播放视频的终端比较多,服务器的压力就会很大。...终端想要看到多路、高分辨率或H.265视频时,此方案实际使用过程中常出现播放卡顿、花屏,缺陷就越发明显。...最主要的问题还是受限于WASM的缺陷,只能软解码,无法利用终端电脑的硬件加速能力,而且不支持多线程,这就导致播放多路RTSP流时就非常吃力了,在面对高分辨率和H.265的视频流时,同样效果不好,而且大量占用终端电脑的...此方案如果能解决高版本的Chrome等浏览器兼容使用,无疑这是当下能够实现低延迟多路稳定播放的最佳技术方案,满足甲方客户硬性播放指标也无压力。...、移动端可直接采用VLC开放源代码的APP来使用,无需单独开发,投入少见效快; 7、此技术方案可实现在原有技术体系下的平滑升级,降低了方案大改造带来的技术路线和延期交付风险,可节省大量研发成本。

    2.9K00

    在Chrome、Firefox中低延迟播放海康、大华RTSP完全解决方案!

    这几年国内外的技术专家经过不断研究总结,形成一些闭源或开源、收费或免费的方案,但多数时候无法完全满足客户的实际需求,要么兼容性和稳定性不好,要么播放延迟高,首屏画面显示慢;尤其是播放高分辨率的RTSP流时...二、现有方案 在浏览器中实现播放RTSP实时视频流,大体上有如下几个方案: 1.浏览器插件方案 此方案主要适用于在IE及Chrome 45以下版本的浏览器,在2015年前是绝对主流的选择。...况且如果有多路视频流时,服务器端转码和转流对CPU、内存、网络带宽的压力大幅度增加,长期使用综合成本很高,对高分辨率的视频流播放经常出现花屏、卡顿现象。...此方案不支持IE浏览器,最大的问题是画面延迟达数秒,首屏内容显示慢,也无法利用本机硬件加速实现解码和渲染播放,CPU占用高,播放时花屏、卡顿现象,体验比较差。另外无法实现本地自动截图、录像等操作。...其实所谓的免插件实现方案中,也是需要浏览器从服务器端下载JS版播放器的,而外接版只不过下载的是本地版播放器,只需要保证下载到本地的播放器程序是安全的即可,必要的话可通过开放播放器源代码来打消客户对安全的顾虑

    2.5K00

    移动直播技术知多少:基础原理解析 & 腾讯云直播接入

    但俗话说得好:工欲善其事,必先利其器! 如果不了解其中原理,在未来遇到问题时,要么难以有效地解决,要么需要付出比现在成倍的努力。...拉流客户端根据 .m3u8 中的 ts 索引信息,按顺序下载播放。 由于其切片的特点,会导致比较大的延迟,在实时性要求比较高的情况下,效果不好。 以上,就是在直播系统中经常使用到的三大协议。...---- 当客户端对 A域名 发起请求时,DNS 会找到 A ,说:“给我 IP 吧”,这时候 A 会告诉 DNS : “我没有,你去找 B域名 要吧”。...也就是说,上面腾讯云生成的 CNAME 域名,是不能直接访问的,还需要把它和我们自己备案的 播放域名 进行关联。 当我们访问自己的 播放域名 的时候,实际上是访问了腾讯云的直播服务器。...最后,要注意的是,在退出推流页面的时候,需要在 onDestroy 中停止推流,并关闭、释放摄像头。 3.2 实现拉流播放 接下来,看看如何播放上面的推流视频。

    5.1K137
    领券