2008-11-30 77 views
1

我当前的代码是这样的:如何更改BlackBerry音量或将其静音?

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

它不会改变音量设置,比如将它应该做的 甚至称Alert.mute(true);不会产生任何效果良好。 Audio.setVolume(0);也不起作用!

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

+0

添加的语言将自己的代码,请。我们不是通灵:) – 2008-11-30 11:46:05

+0

我怀疑这是J2ME的黑莓版本 – 2008-11-30 13:20:25

回答

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模拟器

0

黑莓(但不是模拟器)上的某些功能只能使用已签名的代码。我不确定音量是否是这种情况,但当它出现时我不会感到惊讶。

1

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

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