多媒体
# 包
from ascript.android import media
音视频播放,录制,邮件发送 等操作
方法
音量调节
调节音量大小(1-100)
- 函数
media.volume(percent:int,type:int =3)
- 参数
参数 | 类型 | 必须 | 备注 |
---|---|---|---|
percent | int | 是 | 音量大小 1-100之间 |
type | int | 否 | 音量类型,默认为3,见下表 |
什么是音量类型?
在Android 系统中,包含了很多音量类型,如 音乐,系统通知,闹钟,电话等等.不同的类型,都有自己的音量
该参数来自 android.media.AudioManager
音量类型 | 备注 |
---|---|
音乐回放即媒体音量 | 3 |
窗口顶部状态栏Notification | 5 |
警告 | 4 |
铃声 | 2 |
系统 | 1 |
通话 | 0 |
- 示例
# 设置音乐媒体音量 为80%
# 导包
from ascript.android import media
media.volume(80)
# 设置通话音量为 60%
# 导包
from ascript.android import media
media.volume(60,0)
音量获取
获取音量大小
- 函数
media.get_volume(type:int =3)
- 参数
参数 | 类型 | 必须 | 备注 |
---|---|---|---|
type | int | 否 | 音量类型,默认为3,见下表 |
什么是音量类型?
在Android 系统中,包含了很多音量类型,如 音乐,系统通知,闹钟,电话等等.不同的类型,都有自己的音量
该参数来自 android.media.AudioManager
音量类型 | 备注 |
---|---|
音乐回放即媒体音量 | 3 |
窗口顶部状态栏Notification | 5 |
警告 | 4 |
铃声 | 2 |
系统 | 1 |
通话 | 0 |
- 示例
# 获取媒体音量 音量大小
# 导包
from ascript.android import media
num = media.get_volume(3)
print(num)
语音朗读
将文本用语音朗读出来
- 函数
media.talk(msg:str)
部分设备不支持
部分设备缺少语音库,因此不支持,如(雷电模拟器)
- 参数
参数 | 类型 | 必须 | 备注 |
---|---|---|---|
text | string | 是 | 要朗读的文本 |
- 示例
# 文本转语音朗读出来
#导包
from ascript.android import media
media.talk('自在老师你好')
播放音频
播放音频文件
- 函数
media.play(path:str,callback=None)
- 参数
参数 | 类型 | 必须 | 备注 |
---|---|---|---|
path | string | 必填 | 要播放的音频文件 |
callback | class | 可选 | 一个回调对象 回调对象格式见案例 |
- 示例
# 播放一个音频文件
# 导包
from ascript.android import media
from ascript.android.system import R
media.play(R.res("/media/aodi.wav"))
# 播放音频文件 回调案例
from ascript.android import media
from ascript.android.system import R
class listener:
def prepare(self,player):
# 获取音频时长
dur = player.getDuration()
print(dur)
print('准备完毕')
# 带监听器,我们需要调用start方法
player.start()
def completion(self):
print('播放完毕')
# 播放一个音频
media.play(R.res("/media/aodi.wav"),listener())
停止音频
当开始播放 时候,我们可以通过 callback拿到 player对象,从而停止音频
player.stop()
- 示例
# 播放音频文件开始后,停止音频
from ascript.android import media
from ascript.android.system import R
import time
class listener:
def prepare(self,player):
# 获取音频时长
dur = player.getDuration()
print(dur)
print('准备完毕')
# 带监听器,我们需要调用start方法
player.start()
time.sleep(1)
# 等待1秒后,立刻停止音频播放
player.stop()
def completion(self):
print('播放完毕')
# 播放一个音频
media.play(R.res("/media/bili.WAV"),listener())
print("123")
倍速播放
倍速播放,需要通过player(Android MediaPlayer) 对象,获取param,并设置速度
- 示例
# 倍速播放音频文件
from ascript.android import media
from ascript.android.system import R
import time
class listener:
def prepare(self,player):
# 获取音频时长
dur = player.getDuration()
print(dur)
# 更改播放速度
playparam = player.getPlaybackParams()
playparam.setSpeed(1.0) #2倍速
player.setPlaybackParams(playparam)
print('准备完毕')
# 带监听器,我们需要调用start方法
player.start()
def completion(self):
print('播放完毕')
# 播放一个音频
media.play(R.res("/media/bili.WAV"),listener())
print("123")
获取录音对象
获取录制音频对象
- 函数
media.recode(path:str,time=None):
- 参数
参数 | 类型 | 必须 | 备注 |
---|---|---|---|
path | string | 必填 | 录制音频的文件放置路径,如果文件不存在,会自动创建 |
time | class | 可选 | 录制音频的时长,如果不填写.则直到stop调用后才停止 |
- 返回值
该方法会返回一个 MediaRecoder java对象.
录音对象(MediaRecoder)
我们可以调用该对象的方法,控制开始录音,结束录音,设置录音时长,设置录音文件最大长度 等..
下面是该对象的常用方法:
常用方法 | 备注 |
---|---|
prepare() | 在设置好所有参数后,调用该方法. |
start() | 开始录制音频 |
stop() | 结束录制音频 |
更多方法请参阅 android.media.MediaRecorder 使用相关文档.
# 案例: 录制音频,并在3秒后调用stop停止
from ascript.android import media
import time
m = media.recode("/sdcard/1.acc")
# 开始录音
m.start();
# 睡眠3秒后 停止录音
time.sleep(3)
m.stop()
设备震动
设备震动一段时间,单位毫秒
- 函数
media.vibrate(time:int=200):
参数 | 类型 | 必须 | 备注 |
---|---|---|---|
time | string | 必填 | 震动的时长,单位毫秒 默认:200毫秒 |
# 手机震动2秒
# 导包
from ascript.android import media
media.vibrate(2000)