参考书 pro-android-python-with-sl4a.pdf
mediaPlay(url) 用不了,怎么办? 这样写就可以了.
参考书中一个实用的例子 mplay.py
import android
import os, sys
droid = android.Android()
# Specify our root directory and make sure it exists.
base_dir = '/mnt/external_sd/Music'
if not os.path.isdir(base_dir):
print base_dir,'is not dir'
sys.exit(4)
def show_dir(path=base_dir):
"""Shows the contents of a directory in a list view."""
# The files & directories under "path".
nodes = os.listdir(path)
# Make a way to go up a level.
if path != base_dir: nodes.insert(0, '..')
droid.dialogCreateAlert(os.path.basename(path).title())
droid.dialogSetItems(nodes)
droid.dialogShow()
# Get the selected file or directory.
result = droid.dialogGetResponse().result
droid.dialogDismiss()
if 'item' not in result:
return
target = nodes[result['item']]
target_path = os.path.join(path, target)
if target == '..':
target_path = os.path.dirname(path)
if os.path.isdir(target_path):
show_dir(target_path)
elif os.path.splitext(target)[1].lower() == '.mp3':
return target_path
else: # inform the user.
droid.makeToast('Only .mp3 files are currently supported!')
show_dir(path)
if __name__ == '__main__':
path = show_dir()
url = 'file://' + path
print url
droid.startActivity('android.intent.action.VIEW',url, 'audio/mp3')
在android 4.1 pad 上测试通过.