6,6 → 6,8 |
* |
*******************************************/ |
|
//public class MKStatusVoice {} |
|
import javax.microedition.media.*; |
import javax.microedition.media.control.*; |
import java.util.*; |
16,9 → 18,11 |
implements Runnable,PlayerListener |
{ |
|
org.ligi.ufo.MKCommunicator mk=null; |
DUBwiseCanvas canvas=null; |
Player player; |
|
Player up_player; |
Player down_player; |
|
public final int PLAYERSTATE_IDLE=0; |
public final int PLAYERSTATE_PLAYING=1; |
31,10 → 35,10 |
int act_player_state=PLAYERSTATE_IDLE; |
VolumeControl vc; |
|
public MKStatusVoice(org.ligi.ufo.MKCommunicator _mk,DUBwiseCanvas _canvas) |
public MKStatusVoice(DUBwiseCanvas _canvas) |
{ |
canvas=_canvas; |
mk=_mk; |
|
new Thread( this ).start(); // fire up main Thread |
} |
|
67,33 → 71,79 |
} |
|
|
public void start_playing(String name) |
public Player init_player(String name) |
{ |
Player _player=null; |
try { |
|
try { |
player = Manager.createPlayer(getClass().getResourceAsStream(name+".mp3"), "audio/mp3"); |
_player = Manager.createPlayer(getClass().getResourceAsStream(name+".mp3"), "audio/mp3"); |
} |
catch (Exception e) { |
player = Manager.createPlayer(getClass().getResourceAsStream(name+".wav"), "audio/x-wav"); |
_player = Manager.createPlayer(getClass().getResourceAsStream(name+".wav"), "audio/x-wav"); |
} |
player.addPlayerListener(this); |
player.realize(); |
act_player_state=PLAYERSTATE_PLAYING; |
_player.addPlayerListener(this); |
_player.realize(); |
|
vc = (VolumeControl) player.getControl("VolumeControl"); |
if(vc != null) { |
vc.setLevel(volume); |
} |
|
player.prefetch(); |
player.setLoopCount(1); |
player.start(); |
vc = (VolumeControl) _player.getControl("VolumeControl"); |
if(vc != null) { |
vc.setLevel(volume); |
} |
|
_player.prefetch(); |
_player.setLoopCount(1); |
_player.start(); |
} |
catch (Exception e) { |
|
} |
return _player; |
|
} |
|
public void play_up() |
{ |
|
try { |
act_player_state=PLAYERSTATE_PLAYING; |
if (up_player==null) |
up_player=init_player("up"); |
|
|
up_player.start(); |
} |
catch (Exception e) { |
|
} |
} |
|
|
public void play_down() |
{ |
|
try { |
act_player_state=PLAYERSTATE_PLAYING; |
if (down_player==null) |
down_player=init_player("down"); |
down_player.start(); |
} |
catch (Exception e) { |
|
} |
} |
public void start_playing(String name) |
{ |
|
try { |
act_player_state=PLAYERSTATE_PLAYING; |
player=init_player(name); |
player.start(); |
} |
catch (Exception e) { |
|
} |
} |
|
public void wait_for_end() |
{ |
109,23 → 159,33 |
int info_from_debug_set=-1; |
int volt_timeout=0; |
|
public int BASE_SLEEP=10; |
|
public int last_alt=-1; |
|
|
public int loop_cnt; |
public int volts_play_cnt; |
|
public void run() |
{ |
while(true) |
{ |
if (mk.connected&&(canvas.settings.do_sound)&&(mk.UBatt()!=-1)&&(!mk.force_disconnect)) |
loop_cnt++; |
if ((canvas.mk!=null)&&(canvas.mk.connected)&&(canvas.settings.do_sound)&&(canvas.mk.UBatt()!=-1)&&(!canvas.mk.force_disconnect)) |
{ |
volt_timeout--; |
|
if (info_from_debug_set!=mk.stats.debug_data_count) |
if (info_from_debug_set!=canvas.mk.stats.debug_data_count) |
{ // only when newdata |
|
if (canvas.settings.do_volts_sound&&(volt_timeout--<0)) |
if (canvas.settings.do_volts_sound&&(volt_timeout<0)) |
{ |
volt_timeout=delay*10; |
int ubatt=mk.UBatt(); |
info_from_debug_set=mk.stats.debug_data_count; |
volts_play_cnt++; |
|
volt_timeout=(delay*1000)/BASE_SLEEP; |
int ubatt=canvas.mk.UBatt(); |
info_from_debug_set=canvas.mk.stats.debug_data_count; |
start_playing(""+(ubatt/10)); |
wait_for_end(); |
|
144,19 → 204,21 |
|
if (canvas.settings.do_altimeter_sound) |
{ |
if (last_alt==-1) last_alt=mk.Alt(); |
if (last_alt==-1) last_alt=canvas.mk.Alt(); |
|
|
if (last_alt>mk.Alt()+canvas.settings.altsteps) |
if (last_alt>canvas.mk.Alt()+canvas.settings.altsteps) |
{ |
start_playing("down"); |
// start_playing("down"); |
play_down(); |
wait_for_end(); |
last_alt-=canvas.settings.altsteps; |
} |
if (last_alt<mk.Alt()-canvas.settings.altsteps) |
if (last_alt<canvas.mk.Alt()-canvas.settings.altsteps) |
|
{ |
start_playing("up"); |
//start_playing("up"); |
play_up(); |
wait_for_end(); |
last_alt+=canvas.settings.altsteps; |
} |
168,13 → 230,13 |
} |
|
try { |
Thread.sleep(100); |
/* |
if (delay<1) |
Thread.sleep(1000); |
else |
Thread.sleep(delay*1000); |
*/ |
Thread.sleep(BASE_SLEEP); |
|
//if (delay<1) |
// Thread.sleep(1000); |
//else |
// Thread.sleep(delay*1000); |
|
} |
catch (Exception e) { } |
|
184,3 → 246,4 |
|
|
} |
|