粤嵌实习-linux下madplay播放器的下载和使用、线程的介绍和创建一个广告循环播放线程
文章目录
- 粤嵌实习(电梯运行演示系统)
- 播放器:
- 线程:
- 简单介绍:
- 创建线程:
- 应用:创建一个广告循环播放的线程
粤嵌实习(电梯运行演示系统)
播放器:
(1)通过命令sudo apt-get install madplay 准备安装madplay
sudo apt-get install madplay
发现失败,ping 百度后发现没有连接网络。
由于虚拟机的版本问题,这里网络直接采用NAT模式:
(2)网络连接成功后,下载madplay。(此处下载用的是国内阿里云镜像)
可通过which madplay命令了解到madplay的位置
(3)将音乐文件保存到共享文件夹下,进入共享文件夹,通过madplay 音乐文件名,播放歌曲。
也可采用绝对路径的方式播放歌曲。
这里运行后一直没有声音,以为是madplay安装有问题,检查后发现是虚拟机声卡没有打开,于是打开声卡(选择已连接),成功播放。
线程:
简单介绍:
main – 程序的入口
线程: 主函数的一个分支, 是并发的一种方式
创建线程:
通过man 命令查看pthread_create
NAMEpthread_create - create a new threadSYNOPSIS#include <pthread.h>int pthread_create(pthread_t *thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg);@thread: 线程号@attr: 线程的属性 一般填NULL 表示默认属性@start_routine: 线程函数的名字@arg: 线程函数的参数Compile and link with -pthread.NAMEpthread_detach - detach a threadSYNOPSIS#include <pthread.h>//设置线程为分离属性, 通知系统当这个线程结束时, 记得来回收资源int pthread_detach(pthread_t thread);thread: 线程号Compile and link with -pthread.
参数:
thread: 线程号
attr: 线程的属性 一般填NULL 表示默认属性
start_routine: 线程函数的名字
arg: 线程函数的参数
注意:Compile and link with -pthread.
应用:创建一个广告循环播放的线程
根据man中查看的信息填入参数创建线程
//广告pthread_t pid;int ret = pthread_create(&pid, NULL, ad, NULL);if (ret == -1){printf("pthread_create error\n");return -1;}pthread_detach(pid);
广告线程:
定义存放广告的数组,通过while循环,不断更换对应位置的图片实现广告循环播放。
void* ad(void* arg)//广告循环
{char *adbmp[2]={"ad1.bmp","ad2.bmp"};int i=0;while(1){lcd_draw_bmp(adbmp[i++], 0,0);sleep(3);if(i==2)i=0;}
}
在linux下编译
arm-linux-gcc bmp.c touch.c main.c - pthread -o final
在CRT中
rx touchchmod 0777 final./final
可观察到开发板上广告在循环播放。
nux-gcc bmp.c touch.c main.c - pthread -o final
在CRT中
rx touch
chmod 0777 final
./final
可观察到开发板上广告在循环播放。
粤嵌实习-linux下madplay播放器的下载和使用、线程的介绍和创建一个广告循环播放线程相关推荐
- 嵌入式linux音频播放器设计,基于嵌入式Linux下Madplay音频播放器设计论文.docx
基于嵌入式Linux下Madplay音频播放器设计论文 滁州职业技术学院计算机应用技术专业毕业论文PAGE I 滁州职业技术学院信息工程系--2015届计算机应用专业毕业论文 姓 名: 周杰 班 级: ...
- 粤嵌实习-电梯界面的设计、触摸屏的使用、楼层按键状态的变化
文章目录 粤嵌实习(电梯运行演示系统) 电梯界面显示: (1)设计排版 (2)将所需的界面图片上传到开发板工作文件夹中 (3)将图片显示到开发板上 开发板触摸屏使用: 应用:点击一个电梯的楼层按钮,将 ...
- Linux下scp无密码上传 下载 文件 目录的方法
这篇文章主要介绍了Linux下scp无密码上传 下载 文件 目录的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在Linux下远程备份的时候,需要配置scp的 无密码复制文件.目录.就把这个 ...
- linux下jdk安装步骤_jdk下载安装步骤
如果你是路由接入,直接启用网卡服务应该是没有问题的.如果你是其他接入的,必须手动配置你的网卡,在这里,我说一下网卡的设置,(用我的机子为例)1.关掉. . 1.首先需要在linux服务器上配置java ...
- linux下最简单多线程单文件socks5代理proxy服务器程序(仅一个c文件,带详细注解)
2020.9.11 网上看的都比较复杂,GITHUB找了一个多线程的相对简单的MicroSocks项目,花了几周时间(没办法,菜鸟一个)改了一下,改成单文件,测试OK. /* wxl_socks5_p ...
- linux下的几种输入法下载地址
linux下的几种输入法下载地址 突然发现在linux之下的输入法其实已经很多了.给我一种linux越来越好的错觉? 一.搜狗输入法 for linux 官网:https://pinyin.sogou ...
- Linux下阅读中国知网下载的.caj文献
Linux下阅读中国知网下载的.caj文献 中国知网中有些文献只提供了caj格式的下载,这对于Linux用户来说很不方便,那么如何在Linux系统下阅读caj格式文件呢. 我在网上搜了一搜,大多是两种 ...
- android 音乐播放器mv播放功能,Android 音视频学习基础Android最简单的音频播放器| 神农笔记...
/* *最简单的基于FFmpeg的音频播放器 *Simplest FFmpeg Audio Player *本程序实现了音频的解码和播放. * */ #include #include extern ...
- 粤嵌实验板 linux 环境,粤嵌实习报告
广东海洋大学 学 生 专 业 实 习 报 告 广 东 海 洋 大 学 电 子 与 信 息 工 程 学 院 广东海洋大学学生实验报告书 实验名称 课程名称 成绩 学院(系) 电子与信息工程学院 专业 自 ...
最新文章
- 深入浅出Pytorch:01 课程大纲与PyTorch简介
- 【SCOI 2008】奖励关
- 【dotnet跨平台】Visual Studio Code常见问答
- 2017北京云栖大会:云效企业级协同研发专场议题揭秘!
- Bind和Eval地区别详细解说
- LeetCode 1863. 找出所有子集的异或总和再求和(DFS)
- python格式字符_python格式字符
- WordPress开发暗黑系列流量主收益高清壁纸小程序-可二开-无授权
- 基友扫雷通关跟我炫耀!于是用Python自动扫雷程序十秒通关
- php array 取值 没有key,PHP array_key_exists不起作用;数组不是多维的
- Atiti 高并发程序设计 艾提拉著 目录 1. 第—部分 基础知识	2 1.1. 第1章 并行计算机的硬件基础 1.1 并行计算机的组成 1.2 共享存储器多处理器系统 1.3 消
- excel如何利用VBA一键更改所有文件的名称
- NFT Insider #58:麦当娜和 Beeple 推出 NFT,YGG 与 Magic Eden 达成合作
- Ubuntu上安装Chrome浏览器
- ElasticSearch Groovy 沙盒绕过 代码执行漏洞 CVE-2015-1427 漏洞复现
- USB三模(EDGE、DC-HSPA+和LTE)数据棒
- 统信国产linux操作系统——虚拟机安装
- 还在付费使用 XShell?我选择这款超牛逼的 SSH 客户端,完全免费!
- net面试整试题及参考答案【转】
- java解析pdf获取pdf中内容信息
热门文章
- iOS中block的详解weakSelf、strongSelf-转自唐巧
- 微信小程序开发开篇词 自顶向下,云端赋能:小程序的高效开发之道
- HED 和 RCF 图像边缘检测
- 计算机突然无法连接网络,win7电脑突然不能上网的四种解决方案
- [论文翻译]据传比MTCCN的FaceBoxes《FaceBoxes: A CPU Real-time Face Detector with High Accuracy》
- 易语言php统计代码,易语言统计代码行数与API的工具
- 免费分享《精通C#游戏编程》
- Python一键清空购物车
- 使用rimraf一秒删除node_modules文件夹【亲测有用】
- 拉格朗日乘子法、对偶、KTT