如何更改BlackBerry音量或静音?

时间:2008-11-30 10:44:10

标签: blackberry java-me volume

我目前的代码是:

int volume = Alert.getVolume(); // reads 100
Alert.setVolume(0);

它不会改变音量设置,就像它应该做的那样 即使调用Alert.mute(true);也不会产生任何好的效果。 Audio.setVolume(0);也不起作用!

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

如果您想使用Alert播放声音:

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);
     }
 }
}

在RIM 4.5 8310模拟器上测试

答案 2 :(得分:0)

黑莓(但不是模拟器)上的某些功能仅适用于签名代码。我不确定它是否适用于音量,但我不会感到惊讶。