如何更改BlackBerry音量或将其静音?

如何更改BlackBerry音量或将其静音?,blackberry,java-me,volume,Blackberry,Java Me,Volume,我目前的代码是: int volume = Alert.getVolume(); // reads 100 Alert.setVolume(0); 它不会像应该做的那样更改音量设置 甚至调用Alert.mute(真)不会产生任何好的效果。 Audio.setVolume(0)也不起作用 我在曲线8310上运行这个。我安装了另一个软件,尽管它成功地降低了音量设置。我想我做错了什么。有什么想法吗?blackberry上的某些功能(但不是emulator)只能使用签名代码。我不确定音量是否是这样,但

我目前的代码是:

int volume = Alert.getVolume(); // reads 100
Alert.setVolume(0);
它不会像应该做的那样更改音量设置 甚至调用
Alert.mute(真)不会产生任何好的效果。
Audio.setVolume(0)也不起作用


我在曲线8310上运行这个。我安装了另一个软件,尽管它成功地降低了音量设置。我想我做错了什么。有什么想法吗?

blackberry上的某些功能(但不是emulator)只能使用签名代码。我不确定音量是否是这样,但如果是这样,我也不会感到惊讶。

如果您使用的是类
javax.microedition.lcdui.Alert
,那可能是您的问题。 尝试查看
net.rim.device.api.notification.NotificationsManager
类及其其他包类/接口


虽然简单/礼貌的方法只是要求用户手动更改用户配置文件。如果我将blackberry设置为静音,并且某个应用程序发出疯狂的噪音(或者如果我正在等待一个重要的呼叫,则根本不发出噪音),我将尽快删除该应用程序。

如果您想使用:

类Scr扩展主屏幕实现FieldChangeListener{
按钮字段mVolumeUp;
按钮字段mVolumeDown;
按钮栏;
LabelField mVolumeLabel;
int mVolumeValue=50;
私有静态最终短[]调=新短[]{466125,10466};
公共Scr(){
mVolumeLabel=新的LabelField(“体积:+mVolumeValue”);
添加(mVolumeLabel);
mVolumeUp=新按钮字段(“音量向上”,按钮字段。消费\单击);
mVolumeUp.setChangeListener(此);
相加(mVolumeUp);
mVolumeDown=新按钮字段(“音量下降”,按钮字段。消费\点击);
mVolumeDown.setChangeListener(此);
添加(mVolumeDown);
mPlay=新的按钮字段(“播放”,按钮字段。点击);
mPlay.setChangeListener(此);
添加(mPlay);
}
公共无效字段已更改(字段,int上下文){
if(mVolumeUp==字段){
如果(mVolumeValue=10)
mVolumeValue-=10;
setText(“卷:+mVolumeValue”);
}else if(mPlay==字段){
警报。startAudio(调谐,mVolumeValue);
}
}
}

在RIM 4.5 8310模拟器上测试

请将您编码的语言添加到标签中。我们不是通灵者:)我怀疑这是过去5年中任何一款黑莓手机上J2ME的黑莓版本,当然,可能更多,唯一的选择是Java。如果在调用已签名的API时没有对COD进行适当签名,那么在构建/部署过程中您会看到问题。如果正在使用未签名的API,您还可以强制emulator/JDE失败或发出警告。
class Scr extends MainScreen implements FieldChangeListener {    
 ButtonField mVolumeUp;
 ButtonField mVolumeDown;
 ButtonField mPlay;
 LabelField mVolumeLabel;
 int mVolumeValue = 50;
 private static final short[] tune = new short[] { 466, 125, 10, 466 };

 public Scr() {
 mVolumeLabel = new LabelField("Volume: " + mVolumeValue);
     add(mVolumeLabel);
     mVolumeUp = new ButtonField("Vol Up", ButtonField.CONSUME_CLICK);
     mVolumeUp.setChangeListener(this);
     add(mVolumeUp);
     mVolumeDown = new ButtonField("Vol Down", ButtonField.CONSUME_CLICK);
     mVolumeDown.setChangeListener(this);
     add(mVolumeDown);
     mPlay = new ButtonField("Play", ButtonField.CONSUME_CLICK);
     mPlay.setChangeListener(this);
     add(mPlay);
 }

 public void fieldChanged(Field field, int context) {
     if (mVolumeUp == field) {
         if (mVolumeValue <= 90)
      mVolumeValue += 10;
      mVolumeLabel.setText("Volume: " + mVolumeValue);
  } else if (mVolumeDown == field) {
      if (mVolumeValue >= 10)
   mVolumeValue -= 10;
      mVolumeLabel.setText("Volume: " + mVolumeValue);
  } else if (mPlay == field) {
      Alert.startAudio(tune, mVolumeValue);
     }
 }
}