java - 音频文件在 Android Studio 模拟器中播放,但在我的实际手机 (LG ARISTO 2 PLUS) 上播放

标签 java android android-studio audio

音频文件在 Android Studio Emulator 中播放,但不在我的实际手机上播放。

使用android studio中的媒体播放器播放.mp3文件。在模拟器中一切正常...但是将 .apk 导出到我的手机后,.mp3 文件根本无法播放。非常感谢任何帮助

这是我的主要 Activity 文件:

import javax.swing.text.View;

public class MainActivity extends AppCompatActivity {
  TextView plainText; // sets variable for plaintext which user enters
  TextView textView;
  MediaPlayer mediaPlayer;

  public void select(View view) {

    plainText = findViewById(R.id.editText);// why is this necessary for activity to run
    textView = findViewById(R.id.textView);
    mediaPlayer = MediaPlayer.create(this, R.raw.alarm);
    try {
      int time = Integer.parseInt(plainText.getText().toString());

      int milliSecond = time * 1000;
      // value is needed in milliseconds so we convert value into milliseconds
      new CountDownTimer(milliSecond, 1000) {// 1000ms is 1 second

        @Override
        public void onTick(long millisUnitFinished) {
          textView.setText("0.0" + String.valueOf(millisUnitFinished / 1000));

        }

        public void onFinish() {
          textView.setText("Times Up!");
          mediaPlayer.start();

        }

      }.start();

    } catch (NumberFormatException e) {
      Toast.makeText(this, "Enter Value in integer Only", Toast.LENGTH_LONG).show();
    }

  }

  public void stop(View view) {
    mediaPlayer.stop();
  }

  @Override // overide command basically overides the mainactivity externsion from mainactivity
            // class so that it can run its own methods without
  // essentially being bound by main activity classes extension
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

  }

}

最佳答案

您忘记添加

更改mediaPlayer = MediaPlayer.create(this, R.raw.alarm);

至:mediaPlayer = new MediaPlayer().create(this, R.raw.alarm);

关于java - 音频文件在 Android Studio 模拟器中播放,但在我的实际手机 (LG ARISTO 2 PLUS) 上播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54602607/

相关文章:

java - 无法将 (int, double) 对添加到 HashMap<Integer, Double>

android - 在安卓上使用 FFMPEG

android - Kotlin 协程、改造、Android

android - 在当前项目中嵌入另一个项目

android-studio - Android Studio 移除错误识别为不受 Gradle 支持的模块

android - SwitchCompat 绘制额外的线条

java - Maven 调用程序 : IllegalStateException

Java swing 计时器仅工作一次,然后 keyEvents 快速连续触发 - 按住键

java - OS X 上的 Android Studio 和 JRE

java - 如何将 JLabel 放置在右上角标题栏下方?