首页 > 其他分享 >在 Android 应用中使用 VideoView 播放视频的示例

在 Android 应用中使用 VideoView 播放视频的示例

时间:2024-09-09 16:27:05浏览次数:14  
标签:视频 setVideoURI 播放 示例 URI apply Android VideoView

这段代码片段是在 Android 应用中使用 VideoView 播放视频的示例。下面是对代码的详细解析:

代码解析

findViewById<VideoView>(R.id.vv).apply {
    setVideoURI("${baseURL}VideoSrc/${o.getString("Src")}".toUri())
    start()
}
  1. 查找 VideoView 控件:

    findViewById<VideoView>(R.id.vv)
    
    • 使用 findViewById 方法查找布局中 ID 为 vvVideoView 控件。R.id.vv 是在 XML 布局文件中定义的 VideoView 的 ID。
  2. 使用 apply 扩展函数:

    .apply { ... }
    
    • apply 是 Kotlin 的一个扩展函数,它允许我们在一个对象上执行一系列操作,并返回该对象本身。在这里,它用于对找到的 VideoView 进行配置。
  3. 设置视频 URI:

    setVideoURI("${baseURL}VideoSrc/${o.getString("Src")}".toUri())
    
    • setVideoURI 方法用于设置要播放的视频的 URI。
    • baseURL 是一个字符串,表示视频的基本 URL。
    • o.getString("Src") 从某个 JSON 对象 o 中获取视频源的字符串(假设 o 是一个 JSONObject)。
    • 使用字符串模板 ${...}baseURL 和视频源拼接成完整的 URL。
    • toUri() 是一个扩展函数,用于将字符串转换为 Uri 对象,确保 setVideoURI 方法接受正确的参数类型。
  4. 开始播放视频:

    start()
    
    • start() 方法用于开始播放设置好的视频。

总结

这段代码的功能是:

  • 查找布局中的 VideoView 控件。
  • 设置视频的 URI,构建完整的 URL,并从 JSON 对象中提取视频源。
  • 开始播放视频。

注意事项

  • 确保在调用 start() 方法之前,视频 URI 已经正确设置,并且视频文件可访问。
  • 在实际应用中,可能需要处理视频加载失败的情况,例如使用 setOnErrorListener 来捕获播放错误。
  • 在 AndroidManifest.xml 中,需要添加相应的权限(如网络访问权限)以确保可以访问网络视频。
  • 确保在合适的生命周期方法中管理 VideoView,例如在 onPause() 中暂停视频播放,避免资源浪费。

标签:视频,setVideoURI,播放,示例,URI,apply,Android,VideoView
From: https://www.cnblogs.com/XinBing1335/p/18404787

相关文章

  • 值得细细品味的7个内容示例
    作为一名内容营销人员,你经常被要求付出更多来提升品牌形象。但在美国的感恩节,你可以要求更多——火鸡、填料和蔓越莓酱。与家人和朋友分享一餐或只是放松和恢复创造力的精力,是值得感恩的礼物。为此,我收集了一些优秀的内容营销案例,它们捕捉到了这个节日的本质。其中一些已经在......
  • openVX加速-新增自定义节点和示例代码
    在OpenVX中添加自定义节点大概通过以下步骤实现:定义自定义节点的计算逻辑:你需要编写一个C函数来实现自定义的图像处理操作。创建自定义节点:通过定义一个自定义节点核(kernel),并将其注册到OpenVX上下文中。在图中使用自定义节点:使用你定义的节点与OpenVX提供的内......
  • Flutter 3.24 构建 release 抛出部分依赖 AAPT: error: resource android:attr/lStar
    问题截图:一些讨论:https://github.com/transistorsoft/flutter_background_fetch/issues/369问题原因及解决方案:@Aziz-T该问题与插件的compileSdkVersion和targetSdkVersion有关。出现该问题的原因是部分插件的compileSdkVersion和targetSdkVersion版本过旧。请前往......
  • 发票真伪识别接口费用-发票真伪查验接口-发票验真示例
    发票信息核验是一个重要的财务和会计过程,涉及到对发票上的信息进行验证,以确保其真实性和准确性。在数字化时代,这一过程企业通常想通过调用发票查验接口的方式实现自动化管理模式。发票查验接口费用不同的服务提供商会有不同的收费标准,例如翔云平台提供的发票验真接口可以免费测试......
  • 身份证实名认证接口费用-身份证信息核验-实名认证示例
    身份证信息核验是实名认证中一种常见的认证方式,它通过比对用户提交的身份证信息与权威数据库中的信息,来确认用户身份是否真实有效,一般情况下,线上平台实现实名认证功能主要依赖于调用第三方接口​平台来实现。实名认证接口费用通常由提供该服务的第三方平台来设定,以翔云实名认......
  • Android
    在res文件内新建XML->LayoutXMLgotoXML编辑代码基本元素```kotlinandroid:layout_width="match_parent"//尺寸和父容器相适应android:layout_height="wrap_content"//与输入内容相适应android:orientation="vertical"//设置控件排布水平/垂直android:gravity="cente......
  • androidstudio报错devicemanager出错问题
    2024-09-0911:01:57,029[1446798]WARN-Emulator:Pixel8ProAPI35-Failedtoprocess.inifileC:\Users\钁f旦.android\avd<build>.iniforreading.如如何解决1.查日志C:\Users\董浩\AppData\Local\Google\AndroidStudio2024.1\log这个是默认位置我的错误是202......
  • adb命令控质android手机旋转屏幕
    实现adb命令控制Android手机旋转屏幕1.流程概述下面是实现adb命令控制Android手机旋转屏幕的整体流程:步骤操作步骤1连接手机到电脑步骤2启动adb命令行工具步骤3执行adb命令控制手机旋转屏幕2.操作步骤步骤1:连接手机到电脑首先,将手机通过USB线缆......
  • Android开发 - Map 键值对链表的使用解析
    创建和初始化MapHashMap:常用的实现类,基于哈希表Map<String,Integer>map=newHashMap<>();LinkedHashMap:保持插入顺序的实现类Map<String,Integer>map=newLinkedHashMap<>();TreeMap:基于红黑树,按键的自然顺序或提供的比较器排序Map<String,Integer>map=......
  • Android10源码刷入Pixel2以及整合GMS
    一、ASOP源码下载具体可以参考我之前发布的文章二、下载相关驱动包这一步很关键,关系到编译后的镜像能否刷入后运行下载链接:Nexus和Pixel设备的驱动程序二进制文件如下图所示,将两个驱动程序上传到Ubuntu服务器,并进行解压,得到两个脚本:下载解压后会有两个脚本文件,运......