Android Studio Java MediaPlayer 只播放音频的第一秒然后停止
Posted
技术标签:
【中文标题】Android Studio Java MediaPlayer 只播放音频的第一秒然后停止【英文标题】:Android Studio Java MediaPlayer plays only the first second of audio and then stops 【发布时间】:2020-10-27 13:31:37 【问题描述】:我正在尝试让 MediaPlayer 播放大约两分钟长的 mp3 音频,但是只播放第一秒然后播放器停止。我已经厌倦了 mp3 和 wav 格式。这是我的代码:
package com.pi.audiodemo;
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MediaPlayer mediaPlayer = (MediaPlayer) MediaPlayer.create(this, R.raw.dumb);
mediaPlayer.start();
【问题讨论】:
@Style-7 显然使用 MediaPlayer.create() 会自动执行此操作。添加它会返回编译错误。 “未报告的异常 IOException;必须被捕获或声明为抛出” 【参考方案1】:您在onCreate
函数中创建MediaPlayer
。所以它会在函数返回后立即被删除。试试下面的代码:
package com.pi.audiodemo;
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity
MediaPlayer mediaPlayer;
@Override
protected void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mediaPlayer = (MediaPlayer) MediaPlayer.create(this, R.raw.dumb);
mediaPlayer.start();
【讨论】:
谢谢,这成功了,音频现在可以一直播放,但播放速度很慢而且很慢(好像以 0.5 倍的速度播放)。我该如何解决这个问题?以上是关于Android Studio Java MediaPlayer 只播放音频的第一秒然后停止的主要内容,如果未能解决你的问题,请参考以下文章
Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.Media
从 Ramdisk 运行 Android Studio 的问题
java.lang.SecurityException:方法类 android.media.IAudioService$Stub$Proxy.isCameraSoundForced[] 不可用
java.lang.RuntimeException:android.database.sqlite.SQLiteException:没有这样的表:media_store_extension(代码1)
Caused by:java.lang.IllegalStateException at android.media.MediaPlayer._setDataSource(Native Method)