信号:pause、alarm、kill;第二个项目:基于Mplayer的视频播放器

这篇具有很好参考价值的文章主要介绍了信号:pause、alarm、kill;第二个项目:基于Mplayer的视频播放器。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我要成为嵌入式高手之2月29日Linux高编第十二天!!

学习笔记

信号

1、pause

int pause(void);

功能:让进程睡眠直到接收到捕捉的信号才能继续向下执行

2、alarm

unsigned int alarm(unsigned int seconds);

功能:定时seconds秒后给进程调用发送SIGALRM信号

参数:seconds定时的秒数

返回值:

        成功返回之前设定剩余的秒数

3、kill

int kill(pid_t, int sig)

功能:给PID对应的进程发送sig信号

参数:

        pid:进程ID号

        sig:信号的编号

返回值:成功0,失败-1;

#include "head.h"

void hander(int signo)
{
    
    return;
}

int Mysleep(int seconds)
{
    signal(SIGALRM, hander);
    
    alarm(seconds);
    pause();

    signal(SIGALRM, SIG_DFL);

    return 0;
}

int main(void)
{
    printf("sleep up!\n");
    Mysleep(5);
    printf("sleep down!\n");

    return 0;
}

=====================================================================

Mplayer软件安装步骤:

一、让虚拟机能够上网

1、将虚拟机网卡设置为NAT模式       

                1.点击"虚拟机"

                2.点击"设置"  

                3.选择"网络适配器"

                4.修改为"NAT模式"

                5.点击"确定"

2.修改网卡配置文件,改为自动获取IP地址

                1.sudo vim /etc/network/interfaces 

                2.将文件内容修改为如下形式:

                        auto lo 

                        iface lo inet loopback 

                        auto ens33 

                        iface ens33 inet dhcp 

                3.关闭配置文件

                        ESC

                        :wq

3.重启网络服务

        sudo /etc/init.d/networking restart 

4.测试与百度是否能够ping通

        ping www.baidu.com 

二、使用apt工具集安装Mplayer

1.sudo apt-get install mplayer 

3.将1.flv拷贝到虚拟机的~/Music文件夹下

测试是否能够播放媒体文件:

mplayer ~/Music/1.flv 

4.将a.out拷贝到虚拟机目录下

1.将a.out拷贝到当前目录下

2.修改a.out权限

chmod 0777 a.out 

3.执行a.out查看软件运行效果

./a.out 

项目2

基于Mplayer的视频播放器
1.需求分析:
    1.该程序能够加载指定路径下所有的音视频文件
    (.mp3 .mp4 .avi .rm .rmvb .flv .wma)
    2.能够通过界面操作视频播放器
        支持:
            上键
            下键
            回车
            ESC
        支持:
            焦点定位
            
        1.一级页面功能如下:
        +-------------------+
        |     视频播放器    |
        |-------------------|
        |1.查看播放列表        |
        |2.开始/暂停        |
        |3.停止             |
        |4.上一个           |
        |5.下一个           |
        |6.快进             |
        |7.定位             |
        |8.播放方式            |
        |9.退出             |
        +-------------------+

        查看播放列表二级页面如下:
        +-------------------+
        |     视频播放器    |
        |-------------------|
        |1.张三的歌.mp4     |
        |2.李四的曲.avi     |
        |...                |
        +-------------------+

        定位的二级页面
        +-------------------+
        |     视频播放器    |
        +-------------------+
        定位:XX:XX:XX
    
    3.在一级页面启动播放列表功能,进入二级页面,
      焦点定位到对应歌曲按下enter播放歌曲,按下
      ESC按键能够返回一级页面
    
    4.在一级页面启动下一个功能,能够播放下一个音
      视频文件,如果到达最末尾则提示:最后一首歌曲
      
    5.在一级页面启动上一个功能,能够播放上一个音
      视频文件,如果到达最前面则提示:第一首歌曲

    6.在一级页面启动快进功能,能够按倍速播放,
      第一次选择启动2倍速播放
      第二次选择启动4倍速播放
      第三次选择返回1倍速播放(默认)
      周而复始
      
    7.在一级页面启动开始功能,
      如果音视频正在播放,则暂停播放
      如果音视频正在暂停,则继续播放
      如果音视频文件没有播放,则按照
      播放方式(1.顺序循环 2.单曲循环 3.随机播放)
      播放歌曲
    
    8.在一级页面启动停止功能:
      如果音视频文件没有播放,则提示:未播放音视频文件
      如果音视频正在播放,则停止当前播放内容
    
    9.在一级页面启动定位功能:
      如果定位在音视频文件播放时间内,则跳到对应位置播放
      如果定位位置超过文件播放时间,则提示:定位错误
    
    10.播放方式
      在一级页面启动播放方式功能:
      第一次选择启动单曲循环
      第二次选择启动随机播放
      第三次选择返回顺序循环(默认)

    11.在一级页面启动退出功能:
        则程序退出文章来源地址https://www.toymoban.com/news/detail-838028.html

到了这里,关于信号:pause、alarm、kill;第二个项目:基于Mplayer的视频播放器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 简单小项目:基于Mplayer的视频播放器(Linux)

    简单小项目:基于Mplayer的视频播放器(Linux)

    目录 0 视频演示  1 makefile 2 头文件  public.h  show.h do.c 3 源文件.c  主函数main.c show.c   do.c 4 项目资源下载  https://download.csdn.net/download/m0_58193842/87371186?spm=1001.2014.3001.5503     0.以文件的形式存储软件的日志信息     1.该程序能够加载指定路径下所有的音视频文件     (.mp3

    2024年02月15日
    浏览(12)
  • Hadoop的第二个核心组件:MapReduce框架第二节

    Hadoop的第二个核心组件:MapReduce框架第二节

    1、客户端在执行MR程序时,客户端先根据设置的InputFormat实现类去对输入的数据文件进行切片(getSplits),如果没有设置InputFormat实现类,MR程序会使用默认的实现类(TextInputFormat–FileInputFormat的子类)进行切片规划,生成一个切片规划文件 2、客户端的切片规划文件生成以后

    2024年02月09日
    浏览(13)
  • SQL面试题:第二个优化案例

    今天继续给大家分享一个 SQL 优化案例。 已知表结构如下: 请问下面的查询语句应该如何优化? 首先,这个查询的作用是统计每个客户的订单金额汇总,数据来自 orders 表;最后按照客户名称排序,名称来自 customer 表,两个表通过 c_custkey 字段关联。看一下执行计划: orde

    2024年02月14日
    浏览(10)
  • pytorch学习——第二个模型(逻辑回归)

    pytorch学习——第二个模型(逻辑回归)

    参考该博客系统学习Pytorch笔记二:Pytorch的动态图、自动求导及逻辑回归 c l a s s = { 0 0.5 y 1 0.5 ≤ y class=left{ begin{array}{rcl} 0 {0.5 y}\\\\ 1 {0.5 le y}\\\\ end{array} right. c l a ss = { 0 1 ​ ​ 0.5 y 0.5 ≤ y ​ 根据这个y的取值进行分类的,当取值小于0.5, 就判别为类别0, 大于0.5, 就判别

    2024年02月16日
    浏览(10)
  • 面向对象的第二个基本特征:继承011026

    生活中:         继承 --- 延续                 --- 扩展 代码中:         继承 --- 重复使用已有的类的代码(复用)                 --- 扩展已有类的代码(扩展) ① 代码的复用和扩展 ② 满足is - a 的关系 事物的分类来说,子类别的关系 Student is a Person. Teacher is a Pe

    2024年02月05日
    浏览(11)
  • 在 Unity 中引入第二个敌人运动

    在 Unity 中引入第二个敌人运动

    这里的练习演示了敌人额外移动的实现,该移动从屏幕左端角以倾斜角度开始,在到达屏幕近一半时,倾斜到另一个角度以退出窗口。 在进一步讨论之前,请确保敌人和生成管理器(spawn manager)对象处于良好状态,因为需要它们在此处添加此功能。 这是高级伪代码。 首先在检

    2024年01月22日
    浏览(21)
  • 超级国际象棋:第二个里程碑已完成

    超级国际象棋:第二个里程碑已完成

    获取Cartesi资助的项目的最新进展,现在将完全去中心化的Web3国际象棋带到你的手中 “Ultrachess是一个完全基于区块链的国际象棋应用程序,由Cartesi Rollup技术支持,允许用户将真实价值投入到比赛中,不仅仅是他们的Elo分数。 nbsp; 此外,Ultrachess引入了一个在当前国际象棋范

    2024年02月12日
    浏览(8)
  • 三星平板第二个屏幕连接后黑屏闪退

    三星平板第二个屏幕连接后黑屏闪退

    三星平板有个功能叫 第二个屏幕 ,可以连接电脑当扩展屏使用,具体方法为按下下面的按钮,然后在windows电脑上点击 win+K ,选择自己的平板电脑即可连接。但是个人使用时却出现了 点击连接后,平板黑屏一段时间然后闪退,同时电脑显示无法连接到设备 的问题。 首先 更

    2024年02月01日
    浏览(84)
  • Hadoop的第二个核心组件:MapReduce框架第四节

    Hadoop的第二个核心组件:MapReduce框架第四节

    MapReduce可以对海量数据进行计算,但是有些情况下,计算的结果可能来自于多个文件,每个文件的数据格式是不一致,但是多个文件存在某种关联关系,类似于MySQL中外键关系,如果想计算这样的结果,MR程序也是支持的。这种计算我们称之为join计算。 MR的join根据join数据的位

    2024年02月09日
    浏览(12)
  • ChatGPT引爆变革:第二个被颠覆的行业——在线客服

    ChatGPT引爆变革:第二个被颠覆的行业——在线客服

    引言:随着人工智能技术的不断发展,许多行业都面临着前所未有的变革。ChatGPT,一种先进的自然语言处理技术,在内容创作领域取得了显著成果。如今,它正逐渐进入另一个领域——在线客服。本文将探讨ChatGPT如何改变在线客服行业,以及它为企业和消费者带来的机遇与

    2024年02月07日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包