2010-05-11 114 views
1

我正在开发一个让用户在线收听歌曲的应用程序。我使用Blackberry Player和管理器API。我的应用程序工作正常,我可以播放歌曲。现在我不想添加更多的控件。作为一个例子,我想暂停播放歌曲。静音,控制音量。显示播放的进度。显示歌曲的当前时间位置。我开始研究这个。我试图用PlayerListener来做到这一点。但不幸的是,我总是遇到IllegalStateException。所以我不能继续研究。黑莓实现音频播放器

作为一个帮助可以有人请告诉我如何实现以上种类的控制球员。感谢有人可以发布示例代码来做到这一点。此外,我将把我的播放源代码放在这里。

public void run(){try {p = Manager.createPlayer(requestedSong + SystemSettings.strNetwork); p.setLoopCount(1); p.start(); }赶上(IOException异常IOE){}赶上(MediaException我){}}

公共无效的run()
{
尝试
{
P = Manager.createPlayer(strSongURL);
p.setLoopCount(1);
p.start();
}
赶上(IOException异常IOE)
{}
赶上(MediaException我)
{}
}

非常感谢你。

普拉萨德

回答

0

由于他们总是说,有一个看看MMAPI文档。论坛诺基亚为MMAPI提供了很好的例子。

但首先你可以通过增加检查你的代码:

p.realize(); 
p.prefetch(); 

要暂停/停止播放器调用p.stop()

为了获得当前位置的呼叫p.getMediaTime(); 要获取文件调用p.getDuration();

从这些可以计算出进步的充分时间。

控制音量:

import javax.microedition.media.Player; 
import javax.microedition.media.Manager; 
import javax.microedition.media.*; 
import javax.microedition.media.control.VolumeControl; 
private VolumeControl vc; 


public void changeVolume(int diff) { 
    VolumeControl vc; 

    if (p != null) { 
     vc = (VolumeControl) p.getControl("VolumeControl"); 
     if (vc != null) { 
      int cv = vc.getLevel(); 
      cv += diff; 
      cv = vc.setLevel(cv); 
     } 
    } 
} 

定义您的播放器类实现Runnable,并在自己的线程控制它。

看一看:http://www.java-tips.org/java-me-tips/midp/

希望这有助于。

+0

体积值从0到100。 – user279778 2010-05-11 10:43:55