Rev 129 |
Blame |
Last modification |
View Log
| RSS feed
/**************************************
*
* Voice output
*
* Author: Marcus -LiGi- Bueschleb
*
* see README for further Infos
*
*
**************************************/
package org.ligi;
import android.media.*;
import android.media.MediaPlayer.*;
public class DUBwiseStatusVoice
implements Runnable
//,OnCompletionListener
{
MKCommunicator mk=
null;
DUBwise root=
null;
MediaPlayer player
;
public final int PLAYERSTATE_IDLE=
0;
public final int PLAYERSTATE_PLAYING=
1;
public final int PLAYERSTATE_FIN=
2;
int act_player_state=PLAYERSTATE_IDLE
;
int last_sound=-
1;
public DUBwiseStatusVoice
(DUBwise _root
)
{
root=_root
;
new Thread( this ).
start(); // fire up main Thread
}
public void start_playing
(int resid
)
{
last_sound=resid
;
try {
player=MediaPlayer.
create(root, R.
raw.
voice_sample_1-
1+resid
);
player.
start();
}
catch (Exception e
) {
}
}
public void wait_for_end
()
{
while (player.
isPlaying())
{
try { Thread.
sleep(50); }
catch (Exception e
) { }
}
try { Thread.
sleep(50); }
catch (Exception e
) { }
player.
stop();
player.
release();
player=
null;
System.
gc();
try { Thread.
sleep(150); }
catch (Exception e
) { }
}
public void run
()
{
while(true)
{
if (root.
mk.
connected&&(root.
do_sound)&&(root.
mk.
debug_data.
UBatt()!=-
1)&&(!root.
mk.
force_disconnect))
{
int ubatt=root.
mk.
debug_data.
UBatt();
start_playing
( (ubatt/
10));
wait_for_end
();
if((ubatt
%10
)!=
0)
{
start_playing
( 14);
wait_for_end
();
start_playing
((ubatt
%10
));
wait_for_end
();
}
start_playing
(15);
wait_for_end
();
}
try { Thread.
sleep(5000); }
catch (Exception e
) { }
}
}
}