visual studio(C++)实现“照片电影”播放器

VS C++实现“照片电影”播放器的软件架构和技术简介

前言:
  这个播放器是两年前我大三时上多媒体课的结课大作业,代码部分有瑕疵是肯定的,希望有需要的人能够自己进行代码优化。当时我找了好久都没有用VS C++实现“照片电影”播放器的博客,经过几天的煎熬,我终于想到了如何设置“定时器”来控制照片的播放和暂停后再播放。此博客仅供分享,如需要源代码做参考,请访问我的GitHub账号:https://github.com/Daisy-gj 。
以下内容全部原创,转载请联系我。

1. 软件介绍

  本软件是一款简易的“照片电影播放器”–支持前端自选背景音乐(可试听),播放(及多张照片按照一定间隔时间自动逐一显示)后台存储的bmp文件的系统(bmp文件存储在源文件夹中,使用者可以自行用同名bmp文件更换)。相邻照片的出现间隔时间可在后台修改,播放过程中可以暂停播放。

2. 软件设计的背景

  本软件的灵感来自于小米手机的相册自带的小软件“照片电影”。
手机上的“照片电影”支持自选照片,音乐,风格,并输出成片保存。但因为我个人水平限制,目前只能做到支持背景音乐选择,后台存储要播放的照片。我尝试过在可视化结果界面上添加选择本机文件的按钮,但是选择文件的面板为Myform与Menu不在同一界面上,无法进行有效关联,所以放弃了。
  背景音乐支持试听播放和暂停,我尝试过使用MediaSession和PlaySound,最终选择了PlaySound,因为软件的功能要求对音频不是很高,使用PlaySound完全可以满足要求。
   在音乐和图片的播放控制控制方面,我使用了flag(一些bool型的变量)去进行状态判断,从而进行播放、暂停控制。

3. 使用说明
  1. 界面介绍:运行后生成系统的前端界面,如下图1.0所示。点击帮助按钮后,下拉框中点击使用说明按钮,弹出dialog中有部分说明,示意图2.0如下。
    图1.0 系统主界面
    图1.0 系统主界面

    简易使用说明
图2.0 简易的使用说明
2. 背景音乐:首先,选择背景音乐。(如果不选择,则默认为TheClassic.wav)选择音乐前,可以试听,试听时可以暂停,也可以切换试听另外一首音乐。试听结束后,选择您喜欢的一首作为背景音乐,点击设为背景音乐按钮。成功后将弹出提示框如下图3.0。

图3

图3.0 选择背景音乐成功的提示
  1. 播放:选定背景乐后,点击播放设置的下拉选择框中的播放按钮,将播放源代码文件中保存的若干张bmp文件,与此同时选定的背景音乐也将同步播放。

t4

图4.0 播放中的截图
  1. 暂停:点击播放设置的下拉选择框中的暂停按钮,将停止播放照片和音乐,且系统将暂停。

  2. 选择照片:自选的bmp文件可改为源代码文件夹中的同名bmp文件,对其进行替换,实现自选照片。

  3. 退出系统:可点击窗口的叉号退出,也可以点击系统管理中的退出按钮进行退出。

4. 软件使用示意视频

  我很早就卸载VS了····准备为这个视频重装···但VS更新后要求C盘16G空间·····我装不上。那有需要的去我GitHub下载源码吧,自己跑吧,保证能用!

5. 软件环境及功能结构图
  1. 软件环境及语言
    Microsoft Visual Studio2012
    C++

  2. 功能结构
     本软件主要分为两个模块:音频播放,图片播放。
    (1)音频播放主要使用的技术:PlaySound
    (2)图片播放主要使用的技术:LoadImage、GetDIBits(图片加载)、setTimer(定时器)
     下图5.0为整个系统的功能结构图:

功能结构图

图5.0 功能结构图

6. 软件技术说明

  主要写难点部分—图片播放。音乐播放、控制、选择只是简单的在“分析菜单选择”中使用palysound()函数和bool型变量判断。
  ①图片加载方式选择:
  关于图片加载到绘图部分的方式,我尝试了所有实验给出的方法,最终选择了loadimage()。但是loadimage有一个很大的缺陷(我个人在查阅资料后无法解决),就是它无法读取存储路径为char *型的路径的文件(LPCWSTR格式不匹配,转格式后运行程序无法识别代码),所以我将所有的文件加了一个int型的变量做控制逐一进行加载。但是这样做很冗余。我的代码如下:

if(i==0){
   
    hbmp = (HBITMAP)LoadImage(hInstance,L"scenery1.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);  //加载第一幅图像
	}
	if(i==1){
   
    hbmp = (HBITMAP)LoadImage(hInstance,
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值