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

对于某些mp3文件,Android mediaplayer getDuration()返回0

对于某些mp3文件,Android MediaPlayer的getDuration()方法返回0的原因可能是由于文件的元数据信息不完整或损坏。getDuration()方法用于获取媒体文件的总时长,但它依赖于媒体文件的元数据。如果元数据中没有正确的时长信息,MediaPlayer将无法正确返回时长。

解决这个问题的方法可以尝试以下几种:

  1. 确保mp3文件的完整性:检查文件是否完整且没有损坏。可以尝试使用其他播放器或工具打开该文件,确认文件是否正常播放。
  2. 更新媒体文件的元数据:使用专业的音频编辑软件,如Audacity等,打开mp3文件并重新保存,以更新元数据信息。这可能会修复元数据中的错误或缺失信息。
  3. 使用第三方库解析媒体文件:Android平台上有一些第三方库可以解析媒体文件的元数据,如ExoPlayer、FFmpeg等。尝试使用这些库来获取媒体文件的时长信息。
  4. 使用其他方式获取时长信息:如果以上方法仍然无法解决问题,可以考虑使用其他方式获取媒体文件的时长信息。例如,可以使用Android的MediaMetadataRetriever类来获取媒体文件的元数据信息,包括时长。

对于以上提到的解决方法,腾讯云并没有直接相关的产品或服务。腾讯云提供的云计算服务主要包括云服务器、云数据库、云存储、人工智能等方面的产品。如果您有其他关于腾讯云的问题,我可以为您提供更详细的解答。

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

相关·内容

Android多媒体之认识MP3与内置媒体播放(MediaPlayer

双进度.png ---- MP3的简介 0....(Moving Picture Experts Group Audio Layer III)是指的是MPEG-1标准中的音频部分 MPEG音频文件的压缩是一种有损压缩,MP3音频具有10:1~12:1...就相当于抛弃人耳基本听不到的高频声音 来换取文件的尺寸,用 *.mp3 格式来储存 ---- 4.压缩率与音质 脚趾头想想都知道,同一文件,同一压缩技术: 压缩率越高,过滤的信息越多,文件越小,音质越差...:目测120+ 字段数:目测90+ Android作为移动设备,音频播放的类也就那几个,MediaPlayer作为中流砥柱 MediaPlayer是个挺大的类,又和地下党(native)关系密切,没有理由不去看看...s : 0); } ---->[两参重载,SurfaceHolder为空] public static MediaPlayer create(Context context, Uri uri) {

1.9K61
  • Android实现音乐播放进度条传递信息的两种方式(在service和activity中)

    实现播放时的进度条显示,或是定时从service获取某些信息,是我们日常开发中经常遇到的需求,下面介绍当音乐再service中运行时,activity如果获取音乐进度信息的两种方式: 一、在activity...做音乐播放器采坑以及解决办法1.千万不要把mediaPlayer.getDuration()放在定时任务里,线程和定时器都不能放 因为mediaPlayer.prepare()的执行速度很低,有概率出现...mediaPlayer.prepare()还在执行中,突然定时器里刚刚好到时间该调用mediaPlayer.getDuration()这个方法,结果就是mediaPlayer.prepare()因为没有初始化成功就调用...mediaPlayer.getDuration()而报下面的错误导致程序闪退。...java.lang.IllegalStateException android.media.MediaPlayer.

    2.3K30

    2016级移动应用开发在线测试14-MediaPlayer

    http://android.xsoftlab.net/reference/android/provider/MediaStore.html   您的回答为:EXTRA_SIZE_LIMIT:设置媒体文件最小的大小...┋ 对于单曲循环之类的操作,除了可以使用setLooping()方法进行设置之外,还可以为MediaPlayer注册回调函数,MediaPlayer.setOnCompletionListener()...得到当前播放位置 ()getDuration 得到文件的时间 ()getVideoHeight 得到视频的高度 ()getVideoWidth 得到视频的宽度 ()isLooping 是否循环播放...如果MediaPlayer进入Error状态,可以通过调用reset()来恢复,使得MediaPlayer重新返回到Idle状态。 10. ...http://android.xsoftlab.net/reference/android/media/MediaPlayer.html 您的回答为:void setOnClickListener

    83730

    Android开发笔记(一百二十五)自定义视频播放器

    如果读者已经用过MediaPlayer/SurfaceView的话,想必对VideoView的常用方法并不陌生,下面是它的常用方法说明: setVideoPath : 设置视频文件的路径。...getDuration : 获得视频的总时长。 getCurrentPosition : 获得当前的播放位置。当该方法返回值与getDuration相等时,表示播放到了末尾。...返回值在0到1之间。 MediaController VideoView看起来只有光秃秃的视频画面,要想让用户与它进行交互,还得通过MediaController来中转控制操作。...对于视频画面向控制条通知播放进度,我们可以通过设置定时器来实现;对于控制条向视频画面通知具体操作,我们可以通过点击事件和拖动事件来实现。...; import android.media.MediaPlayer; import android.media.MediaPlayer.OnCompletionListener; import android.media.MediaPlayer.OnPreparedListener

    2.7K40

    Android中文API —— VideoView

    android.widget.VideoView 类概述 (图片转载至这里) 用于播放视频文件。 ...如果为 0 则不应用(包括当前主题中的)风格。 该值可以是当前主题中的属性资源,或者是明确的风格资源 ID。...int getBufferPercentage () (译者注:获得缓冲区的百分比) public int getCurrentPosition () (译者注:获得当前的位置) public int getDuration...public boolean onTrackballEvent (MotionEvent ev) 实现这个方法去处理轨迹球的动作事件,轨迹球相对于上次事件移动的位置能用MotionEvent.getX(...参数 l 要执行的回调函数 public void setOnPreparedListener (MediaPlayer.OnPreparedListener l) 注册在媒体文件加载完毕,可以播放时调用的回调函数

    1.4K30

    Android 音频开发入门指南

    2.1 使用 MediaPlayer 播放音频 MediaPlayerAndroid 提供的用于播放音频和视频文件的高级 API。...在 Android 音频开发中,我们可能会遇到各种不同的音频格式,如 MP3、AAC、WAV 等。...例如: 对于音频播放,如果我们的应用需要读取外部存储中的音频文件,...八、音频开发的最佳实践 在进行 Android 音频开发时,有一些最佳实践可以帮助我们提高应用的性能和用户体验: 尽可能地使用高级 API:对于简单的音频播放和录制需求,使用 MediaPlayer 和...9.3 音频编辑器 音频编辑器是一种用于处理和修改音频文件的应用。在开发音频编辑器时,我们需要考虑以下几个方面: 音频文件读取:读取各种格式的音频文件,如 MP3、AAC、WAV 等。

    12710
    领券