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

安卓10 : API 29 - android.media.MediaMetadataRetriever.setDataSource上的java.lang.IllegalArgumentException

安卓10 : API 29中,当使用android.media.MediaMetadataRetriever.setDataSource方法时,可能会出现java.lang.IllegalArgumentException异常。

该异常表示传递给方法的参数不合法,即参数的值不符合方法的要求。在这种情况下,可能是由于以下原因导致的:

  1. 文件路径错误:传递给setDataSource方法的文件路径可能是无效的或不存在的。确保文件路径正确,并且应用程序具有访问该文件的权限。
  2. 文件格式不支持:MediaMetadataRetriever只支持特定的音视频文件格式。如果传递给setDataSource方法的文件不是支持的格式,将会抛出IllegalArgumentException异常。可以尝试使用支持的文件格式进行测试。
  3. 文件损坏:如果传递给setDataSource方法的文件损坏或不完整,也可能导致IllegalArgumentException异常。确保文件完整且没有损坏。

解决这个问题的方法包括:

  1. 检查文件路径:确保传递给setDataSource方法的文件路径是正确的,并且应用程序具有访问该文件的权限。
  2. 检查文件格式:确认传递给setDataSource方法的文件是支持的音视频格式。可以查阅Android官方文档或相关资源了解支持的格式。
  3. 检查文件完整性:确保传递给setDataSource方法的文件完整且没有损坏。可以尝试使用其他工具或播放器打开文件,以验证文件是否正常。

腾讯云相关产品和产品介绍链接地址:

腾讯云提供了丰富的云计算服务和解决方案,包括存储、人工智能、物联网等领域。以下是一些相关产品和介绍链接:

  1. 腾讯云对象存储(COS):提供高可靠、低成本的对象存储服务,适用于存储和管理各种类型的数据。详情请参考:https://cloud.tencent.com/product/cos
  2. 腾讯云人工智能(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等。详情请参考:https://cloud.tencent.com/product/ai
  3. 腾讯云物联网(IoT):提供全面的物联网解决方案,包括设备接入、数据管理、应用开发等。详情请参考:https://cloud.tencent.com/product/iot

请注意,以上链接仅供参考,具体的产品选择应根据实际需求和情况进行评估和决策。

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

相关·内容

  • Android开发笔记(一百四十三)任务调度JobScheduler

    App除了通过屏幕向用户展示可交互的界面元素之外,还经常需要在后台做些背地里做的事情,比如说精密计算、文件下载、统计分析、数据导入、状态监控等等,这些用户看不到的事一般放在Service中处理。 然而有时候我们希望在特定情况下再启动事务,比如说延迟若干时间之后,或者等手机空闲了再运行,这样一方面不会在系统资源紧张之时喧宾夺主,另一方面也起到削峰填谷提高系统效率的作用。对于这些额外的条件要求,Service并不能直接支持,往往需要加入其他手段,才能较好地满足相关的运行条件,比如: 一、对于延迟时间执行,通常考虑利用系统的闹钟管理器AlarmManager进行定时管理,有关AlarmManager的说明参见《Android开发笔记(五十)定时器AlarmManager》。 二、对于是否联网、是否充电、是否空闲,一般要监听系统的相应广播,常见的系统广播说明如下: 1、网络状态变化需要监听系统广播android.net.conn.CONNECTIVITY_CHANGE; 2、设备是否充电需要监听系统广播Intent.ACTION_POWER_CONNECTED也就是android.intent.action.ACTION_POWER_CONNECTED; 3、设备是否空闲需要监听系统广播Intent.ACTION_SCREEN_OFF也就是android.intent.action.SCREEN_OFF; 可是要想给Service补充以上条件,势必加大了程序逻辑的复杂度,一会儿注册这个事件,一会儿注册那个事件,工程代码将变得不易维护。有鉴于此,Android从5.0开始,增加支持一种特殊的机制,即任务调度JobScheduler,该工具集成了常见的几种运行条件,开发者只需添加少数几行代码,即可完成原来要多种组件配合的工作。 任务调度机制由三个工具组成,首先是JobInfo,它指定了一个任务的概要信息,比如何时启动,启动时需要满足什么条件等等;其次是JobScheduler,它是系统提供的任务调度服务,它的实例从系统服务Context.JOB_SCHEDULER_SERVICE中获得;最后是JobService,它描述了该任务内部的具体业务逻辑,它的运行时刻由JobScheduler根据JobInfo指定的条件而计算决定。下面分别说明这三个工具的编码过程:

    03

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券