System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种嵌入式音频播放方法及系统技术方案_技高网

一种嵌入式音频播放方法及系统技术方案

技术编号:40174162 阅读:4 留言:0更新日期:2024-01-26 23:42
本发明专利技术涉及音频播放的技术领域,公开了一种嵌入式音频播放方法及系统,所述播放方法包括:第一工作线程获取用户的输入操作,将输入操作作为消息内容发送到消息队列;所述消息队列将所述消息内容发送到第二工作线程,所述第二工作线程平常挂起于所述消息队列;当所述消息内容发送过来后,所述第二工作线程被激活,所述第二工作线程内部维护有一个状态机,所述状态机判断所述消息内容是否符合状态机逻辑,若符合逻辑,执行所述消息内容。采用本申请这种基于消息队列加状态机的框架,即使用户操作很快,但只要操作的次数没有超出队列的上限,则所有的操作都会被一一执行,不存在漏操作的问题。

【技术实现步骤摘要】

本专利技术涉及音频播放的,尤其是一种嵌入式音频播放方法及系统


技术介绍

1、现有技术中,音频的播放操作处理往往基于状态机来实现,当用户做出操作后,用一个变量记下用户的操作内容,然后在工作进程的下一轮循环中,针对相应的操作做出处理。这种方案的最大问题是用户操作的速度较慢时还可以工作,当用户操作得很快时,后面的操作很容易覆盖前面的操作,从而造成有的操作没有响应,使得用户以为发生了故障。


技术实现思路

1、本专利技术的目的在于提供一种嵌入式音频播放方法及系统,旨在解决现有技术中的上述问题。

2、第一方面,本申请提供了一种嵌入式音频播放方法,所述播放方法包括:

3、第一工作线程获取用户的输入操作,将输入操作作为消息内容发送到消息队列;

4、所述消息队列将所述消息内容发送到第二工作线程,所述第二工作线程平常挂起于所述消息队列;当所述消息内容发送过来后,所述第二工作线程被激活,所述第二工作线程内部维护有一个状态机,所述状态机判断所述消息内容是否符合状态机逻辑,若符合逻辑,执行所述消息内容。

5、进一步的,所述状态机判断所述消息内容是否符合状态机逻辑的步骤还包括:

6、若不符合逻辑,所述消息内容将被丢弃,不被执行。

7、进一步的,所述播放方法还包括:当没有消息内容发送到所述消息队列时,所述第二工作线程挂起于所述消息队列。

8、进一步的,所述输入操作包括播放、暂停、播放下一首、播放上一首、随机播放和循环播放。p>

9、第二方面,本申请还提供了一种嵌入式音频播放系统,所述播放系统包括:

10、第一工作线程,所述第一工作线程用于获取用户的输入操作,并将输入操作作为消息内容发送到消息队列;

11、消息队列;

12、第二工作线程,所述第二工作线程平时挂起于所述消息队列,所述第二工作线程内部维护有一个状态机,所述消息队列用于将所述消息内容发送到第二工作线程,当所述消息内容发送至第二工作线程,所述第二工作线程能够被激活,所述状态机能够判断所述消息内容是否符合状态机逻辑,若符合逻辑,执行所述消息内容。

13、与现有技术相比,采用本申请这种基于消息队列加状态机的框架,即使用户操作很快,但只要操作的次数没有超出队列的上限,则所有的操作都会被一一执行,不存在漏操作的问题。

本文档来自技高网...

【技术保护点】

1.一种嵌入式音频播放方法,其特征在于,所述播放方法包括:

2.根据权利要求1所述的一种嵌入式音频播放方法,其特征在于,所述状态机判断所述消息内容是否符合状态机逻辑的步骤还包括:

3.根据权利要求1所述的一种嵌入式音频播放方法,其特征在于,所述播放方法还包括:当没有消息内容发送到所述消息队列时,所述第二工作线程挂起于所述消息队列。

4.根据权利要求1所述的一种嵌入式音频播放方法,其特征在于,所述输入操作包括播放、暂停、播放下一首、播放上一首、随机播放和循环播放。

5.一种嵌入式音频播放系统,其特征在于,所述播放系统包括:

【技术特征摘要】

1.一种嵌入式音频播放方法,其特征在于,所述播放方法包括:

2.根据权利要求1所述的一种嵌入式音频播放方法,其特征在于,所述状态机判断所述消息内容是否符合状态机逻辑的步骤还包括:

3.根据权利要求1所述的一种嵌入式音频播放方法,其特征在于,所述播放方法还包括:当没...

【专利技术属性】
技术研发人员:张明远
申请(专利权)人:深圳同创音频技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1