К сожалению блютуз не подходит.
Вы можете подсказать как реализовать в этом коде функцию : воспроизведения звукового файла по кругу при удерживании кнопки c клавиатуры?.Пример:нажал кнопку вверх и звук играет пока я удерживаю эту кнопку.
Код:
"""HTTP server"""
import android
import BaseHTTPServer
import socket
import urlparse
HOST_NAME = ''
PORT_NUMBER = 9090
droid = android.Android()
PAGE_TEMPLATE = '''
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>DroidBot Remote Control</title>
</head>
<FRAMESET ROWS="95%,5%">
<FRAME SRC="frame_a.html">
<FRAME SRC="frame_b.html">
</FRAMESET>
</html>
'''
PAGE_TEMPLATE_A = '''
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>DroidBot Remote Control</title>
</head>
<body>
<iframe width="830" height="800" src ="http://%s:9091">No iframes?</iframe>"
</body>
</html>
'''
PAGE_TEMPLATE_B = '''
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>DroidBot Remote Control</title>
<style type="text/css">
#action {
background:yellow;
border:0px solid #555;
color:#555;
width:0px;
height:0px;
padding:0px;
}
</style>
<script>
function AddText(text)
{
document.myform.action.value=text;
}
</script>
</head>
<body>
<form name="myform" method="get">
<textarea id="action" name="action">start</textarea>
<input id="button1" type="submit" value="Forward" OnClick='javascript:AddText ("forward")' />
<input id="button2" type="submit" value="Back" OnClick='javascript:AddText ("back")' />
<input id="button3" type="submit" value="Left" OnClick='javascript:AddText ("left")' />
<input id="button4" type="submit" value="Right" OnClick='javascript:AddText ("right")' />
</form>
</body>
</html>
'''
def play( id ):
if (id=='forward'):
droid.mediaPlay('/sdcard/media/audio/s1800.wav')
elif (id=='back'):
droid.mediaPlay('/sdcard/media/audio/s1200.wav')
elif (id=='left'):
droid.mediaPlay('/sdcard/media/audio/s1400.wav')
elif (id=='right'):
droid.mediaPlay('/sdcard/media/audio/s1600.wav')
class DroidHandler(BaseHTTPServer.BaseHTTPRequestHandler):
def do_HEAD(s):
s.send_response(200)
s.send_header("Content-type", "text/html; charset=utf-8")
s.end_headers()
def do_GET(s):
s.send_response(200)
my_full_addr = s.headers.get('Host')
my_addr = my_full_addr.split(":",2)
my_ip_addr = my_addr[0]
url = urlparse.urlsplit(s.path)
print url.path
if url.path == '/frame_a.html':
s.send_header("Content-type", "text/html; charset=utf-8")
s.end_headers()
html = PAGE_TEMPLATE_A % my_ip_addr
s.wfile.write(html)
return
elif url.path == '/frame_b.html':
s.send_header("Content-type", "text/html; charset=utf-8")
s.end_headers()
query = url.query
args = urlparse.parse_qsl(query)
action = ''
for arg in args:
if arg[0] == 'action':
action = arg[1].strip().replace('\r', '')
print(action)
play(action)
break
html = PAGE_TEMPLATE_B
s.wfile.write(html)
return
s.send_header("Content-type", "text/html; charset=utf-8")
s.end_headers()
html = PAGE_TEMPLATE
s.wfile.write(html)
my_srv = BaseHTTPServer.HTTPServer((HOST_NAME, PORT_NUMBER), DroidHandler)
my_srv.serve_forever()