2008-11-30 76 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類及其其他包類/接口。

雖然簡單/禮貌的方式只是要求用戶手動更改用戶配置文件。如果我將黑莓手機設置爲靜音,並且某些應用程序會發出瘋狂的噪音(或者如果我期待重要的呼叫,則不會產生噪音),我會盡快刪除該應用程序。