3.8 播放器 模块API手册#
前言#
概述#
本文档主要介绍K230_CanMV 播放器模块API的使用。
读者对象#
本文档(本指南)主要适用于以下人员:
技术支持工程师
软件开发工程师
修订记录#
文档版本号 |
修改说明 |
修改者 |
日期 |
---|---|---|---|
V1.0 |
初版 |
sxp |
2023-10-27 |
V2.0 |
支持不同的显示播放设备 |
sxp |
2024-09-12 |
1. 概述#
此文档介绍K230_CanMV 播放器模块API,可播放mp4格式文件。支持音视频同时播放,音频支持g711a/u,视频支持H264/H265。
2. API描述#
提供Player类,该类提供如下方法:
2.1 构造函数#
【描述】
根据display_type
构建Player
对象
用户需要先构建Player
对象再继续操作
【语法】
player=Player(Display.VIRT,[display_to_ide])
【参数】
参数名称 |
描述 |
输入/输出 |
说明 |
---|---|---|---|
display_type |
显示设备类型 |
输入 |
|
display_to_ide |
是否同时输出到ide虚拟屏 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
Player 对象 |
【举例】
player=Player(Display.VIRT)
player=Player(Display.ST7701)
player=Player(Display.LT9611)
【相关主题】
无
2.2 Player.load#
【描述】
加载文件,当前版本只支持mp4格式文件
【语法】
player=Player()
player.load("test.mp4")
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
filename |
文件名称 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非 0 |
失败 |
【注意】
当前版本只支持播放mp4格式文件
【举例】
无
【相关主题】
无
2.3 Player.start#
【描述】
开始播放
【语法】
player=Player()
player.start()
【参数】
无
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【注意】
无
【举例】
无
2.4 Player.pause#
【描述】
暂停播放
【语法】
player=Player()
player.pause()
【参数】
无
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【注意】
无
【举例】
无
2.5 Player.resume#
【描述】
继续播放
【语法】
player=Player()
player.resume()
【参数】
无
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【注意】
无
【举例】
无
2.6 Player.stop#
【描述】
停止播放
【语法】
player=Player()
player.stop()
【参数】
无
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【注意】
无
【举例】
无
2.7 Player.set_event_callback#
【描述】
设置播放事件回调函数
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
callback |
回调函数名 |
输入 |
【语法】
def player_event(event,data):
pass
player=Player()
player.set_event_callback(callback=player_event)
【参数】
无
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【注意】
无
【举例】
无
3. 数据结构描述#
3.1 playe_event_type#
【描述】
编码格式类型
【成员】
成员名称 |
描述 |
---|---|
K_PLAYER_EVENT_EOF |
播放结束 |
K_PLAYER_EVENT_PROGRESS |
播放进度 |
4. 示例程序#
4.1 例程1#
from media.player import *
import os
start_play = False
def player_event(event,data):
global start_play
if(event == K_PLAYER_EVENT_EOF):
start_play = False
def play_mp4_test(filename):
global start_play
# 使用IDE作为输出显示,可以设定任意分辨率,BPI的开发板请使用该方式
player=Player(Display.VIRT)
# 使用ST7701 LCD屏幕作为输出显示,最大分辨率800*480
# player=Player(Display.ST7701)
# 使用HDMI作为输出显示
# player=Player(Display.LT9611)
player.load(filename)
player.set_event_callback(player_event)
player.start()
start_play = True
while(start_play):
time.sleep(0.1)
player.stop()
print("play over")
play_mp4_test("/sdcard/examples/test.mp4")