Pregunta

Mi código actual es este:

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

NO cambia la configuración del volumen, como se supone que debería hacer Incluso llamar a Alert.mute (true); no produce ningún buen efecto. Audio.setVolume (0); tampoco funciona!

Estoy ejecutando esto en una Curve 8310. Sin embargo, tengo otro software instalado que logra bajar mucho la configuración de volumen. o Supongo que estoy haciendo algo mal. ¿Alguna idea?

¿Fue útil?

Solución

Si desea reproducir sonido con Alerta :

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

Probado en el simulador RIM 4.5 8310

Otros consejos

Si está utilizando la clase javax.microedition.lcdui.Alert , ese puede ser su problema. Intente echar un vistazo a la clase net.rim.device.api.notification.NotificationsManager y sus otras clases / interfaces de paquetes.

Aunque la forma simple / educada es pedirle al usuario que cambie los perfiles de usuario manualmente. Si configuro mi blackberry en silencio y alguna aplicación hace un ruido loco (o no hace ningún ruido si espero una llamada importante), eliminaré esa aplicación lo antes posible.

Ciertas funciones en el blackberry (pero no en el emulador) solo funcionan con código firmado. No estoy seguro de si es el caso del volumen, pero no me sorprendería cuando lo fuera.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top