android - Runnable 中的上下文

标签 android multithreading media-player runnable android-context

我尝试播放来自 R.raw 的声音。在 Thread/Runnable 中 但我无法让它工作。

new Runnable(){ 
  public void run() {  

    //this is giving me a NullPointerException, because getBaseContext is null  
    MediaPlayer mp = MediaPlayer.create( getBaseContext(), R.raw.soundfile);  

    while (true) {  
      if (something)  
          play something  
    }  
  }

如何在 run 方法中获取真正的 Context?无论我尝试什么,它都是空的。或者有更好的方法吗?

最佳答案

您还应该能够使用 MainActivity.this 从外部类获取 this 引用。

关于android - Runnable 中的上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3875391/

相关文章:

Android:播放音频时不显示 MediaController。

java - 安卓 : How to set MediaPlayer volume programmatically?

android - 如何从android中的消息中获取sos莫尔斯电码

java - 错误 : Could not find method jcenter() for arguments [] on repository container

android - 如何在微调器中将特定位置设置为默认位置?

multithreading - 在 Perl 中使用共享哈希

java - 如何以多线程方式调用不同类的相同方法

.net - 这个类应该使用数据锁定进行多线程吗?

java - 停止音乐并再次播放

java - 无法安装 Android Studio(IDE 无法创建目录 Mac)