当前位置: 首页 > news >正文

安卓使用ExoPlayer出现膨胀类异常

1.导包

    implementation 'com.google.android.exoplayer:exoplayer-core:2.15.1'implementation 'com.google.android.exoplayer:exoplayer-ui:2.15.1'

2.在Androidifest.xml加入权限,我这里加了网络与读写权限

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

 3.布局

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><com.google.android.exoplayer2.ui.PlayerViewandroid:id="@+id/player_view"android:layout_width="match_parent"android:layout_height="wrap_content"/></RelativeLayout>

这时候我去运行了一下,发现出现报错:
 Error inflating class com.google.android.exoplayer2.ui.SimpleExoPlayerView但是我有这个报错里面的属性。后来经过查询,找到了解决方案,这不是任何开发错误,因为如果它是任何代码错误,那么它应该已经在多个设备上发生。因此,我最后的手段是纠正到底发生了什么。由于应用程序的apk是作为捆绑包上传的,因此如果用户在通过ShareIt或Whatsapp共享捆绑包apk (侧加载)之后安装应用程序,它将崩溃,因为它是应用程序捆绑包的属性,我们不能共享从捆绑包生成的APK。然后我在build.gradle里面加了一句话就可以了。

4.ExoPlayer正常使用,因为我使用的是开发板,所以我直接指定的绝对地址:

package com.example.exoplayerimport android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.google.android.exoplayer2.MediaItem
import com.google.android.exoplayer2.SimpleExoPlayer
import kotlinx.android.synthetic.main.activity_main.*class MainActivity : AppCompatActivity() {private var mPlayer: SimpleExoPlayer? = nulloverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)mPlayer = SimpleExoPlayer.Builder(this).build()player_view!!.player = mPlayer//也可以把这个地址替换成网络地址val videoUrl = "/sdcard/Download/VID_20240229_102508.mp4"val mediaItem = MediaItem.fromUri(videoUrl)mPlayer!!.setMediaItem(mediaItem)mPlayer!!.prepare()mPlayer!!.play()}
}

http://www.lryc.cn/news/312339.html

相关文章:

  • C++之析构函数
  • 108. 将有序数组转换为二叉搜索树【简单】
  • vue3中watch和watchEffect的区别!!!
  • 【JavaEE初阶 -- 计算机核心工作机制】
  • springcloud:3.6测试信号量隔离
  • AI化未来:智能科技的新纪元
  • Unity 整体界面淡入淡出效果
  • 反序列化逃逸 [安洵杯 2019]easy_serialize_php1
  • JavaScript中的包装类型详解
  • 如何向各大媒体网站投稿 海外媒体发稿平台有哪些
  • 基于SpringBoot的论坛系统(附项目源码+论文)
  • 堆以及堆的实现
  • 使用RabbitMQ实现延时消息自动取消的简单案例
  • Docker部署(ruoyi案例接上篇Docker之部署前后端分离项目)实施必会!!!!
  • 电脑中已经有多个模组压缩文件,如何通过小火星露谷管理器批量安装
  • [Linux]如何理解kernel、shell、bash
  • C++:Vector的使用
  • Redis之事务(详细解析)
  • Java项目:39 springboot007大学生租房平台的设计与实现
  • 安卓内存信息查看
  • Positional Encoding 位置编码
  • MySql、Navicat 软件安装 + Navicat简单操作(建数据库,表)
  • 逆向案例五、爬取b站评论,表单MD5加密
  • 010-原型链
  • Electron-builder打包安装包——编译篇
  • Red Hat系统升级内核版本
  • Java集合set之HashSet、LinkedHashSet、TreeSet的区别?
  • 全方位碾压chatGPT4的全球最强模型Claude 3发布!速通指南在此!保姆级教学拿脚都能学会!
  • upload-Labs靶场“11-15”关通关教程
  • linux-rpm命令