2011-01-10 71 views
0

喜 如何在application.I播放媒体文件我用下面的代码尝试,但不知道为什么它不工作对我来说如何播放媒体?

player= new MediaPlayer().create(context, R.raw.lonely); 
player.start(); 
player.release(); 

帮助我。 在此先感谢。

回答

2

我还没有玩MediaPlayer,但我会尝试没有release()电话。 This example不使用它。而docs说这是一个清理方法回放后,被称为:与 此MediaPlayer对象相关

释放资源。当您完成MediaPlayer的使用时, 被认为是良好的做法,可以调用此方法 。

+0

它甚至不是没有发布工作对我来说()。 – Androider 2011-01-10 08:43:27

1

我想你搞乱了与构造。您可以静态实例化MediaPlayer:MediaPlayer.create(Context context, int resid),这是最简单的方法,因此您只需致电play()即可。您也需要一个有效的情况下,这是说,如果你的活动或服务中创建的MediaPlayer RHE,只是通过“本”为背景。

您也可以使用“正常”构造函数MediaPlayer(),但您必须在play()之前明确呼叫setDataSource()prepare()

此外,正如Grzegorz写道,在play()之后拨打release()不是一个好主意。

0

可以folow中此示例:

public void audioPlayer(String path, String fileName){ 
    //set up MediaPlayer  
    MediaPlayer mp = new MediaPlayer(); 

    try { 
     mp.setDataSource(path+"/"+fileName); 
    } catch (IllegalArgumentException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IllegalStateException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    try { 
     mp.prepare(); 
    } catch (IllegalStateException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    mp.start(); 
}