2015-11-01 61 views
1

我在我的项目中创建了一个新的Java文件,我试图访问我的Raw文件夹中的战争音频文件。有没有人有一个想法我做错了什么?访问RAW文件夹中的音频文件

MediaPlayer mediaPlayer; 
Context context; 

public Audio() 
    { 

    int resID = context.getResources().getIdentifier("morse","raw",context.getPackageName()); 

    context.getResources().openRawResource(resID); 
    mediaPlayer = MediaPlayer.create(this.context, resID); 

} 
+0

上下文似乎为空 – Blackbelt

回答

0

您无法启动媒体播放器。试试以下代码,

MediaPlayer mediaPlayer; 上下文上下文;

public Audio() 
    { 

    int resID = context.getResources().getIdentifier("morse","raw",context.getPackageName()); 

    context.getResources().openRawResource(resID); 
    mediaPlayer = MediaPlayer.create(this.context, resID); 
    //start the media player 
    mediaPlayer.start(); 

} 

希望它可以帮助!!! ...

+0

感谢您的帮助。我试过你的代码,它不会工作 - 我收到一个运行时错误'无法实例化int resID行上的活动ComponentInfo'。 is类不是Android活动,但是它是一个java类,我可以在一个活动中运行类似的代码,它的工作原理可能与它有关系? –

+0

在您的AndroidManifest.xml中添加您的活动。 –

+0

错误发生的原因是活动试图创建此Audio类的实例,但无法这样做。 –

0

取而代之的是:

INT渣油= context.getResources()则getIdentifier( “莫氏”, “原始”,上下文.getPackageName());

context.getResources()。openRawResource(resID); mediaPlayer = MediaPlayer.create(this.context,resID);

尝试:

MEDIAPLAYER = MediaPlayer.create(Your_Activity_Name.this, R.raw.Audio_File_Name); mediaPlayer.start();