歌曲播放界面原理

环境:

Visual studio 2012,Sql Server

  1. VS工具栏中添加播放器控件,步骤如下:

打开工具栏→选择任意控件右击→选中”选择项…”打开→选择”COM组件”→找到”Windows Media Player”勾上复选框→点击确定

  1. 在主界面添加Windows Media Player控件,修改属性名称,至此搭建播放界面完成

Main:

打开先前写好的程序至歌曲添加界面(如图):

当点击某一首歌曲时,在DataGirdView控件的CellClick事件中进行添加歌曲到提前定义好的对象数组中,代码如下:

此处,songtype的判定是因为在已点列表和歌曲列表界面同时共用了一个窗体,若非共用窗体则不需要在此判定,而DGV_list.SelectedRows[0].Cells[“”]则是获取到选中行集合的第一行(即下标为0)的具体列的值,进行String类型的一个转换,最终把得到的每一项的值赋给对象数组中与之对应的项,同时调用之前定义好的方法(如下图),获取到需要播放的歌曲,由于该方法需要得到一个song的对象,因此在调用该方法时需要给他一个对象参数

此时,需要给主界面添加一个Timer控件,在他的Tick事件中来判定song对象是否为空,如果为空则调用Playsong方法(如图)进行播放

下图为调用播放当前歌曲的方法

那么如果当前song对象不为空,则同时判定播放器是否是停止状态,如果停止便立即播放下一首(如图)

在调用MoveNext方法时需要判定下标加一的数组对象是否为空,换句话说就是判定是不是还有下一首歌曲,如有就让数组的索引加一,进行下一首歌曲的播放,在这里需要注意的是,如果已经开始播放下一首歌曲了,那么是不是该把上一首歌曲信息清除呢,因为如果不做清除处理,那么他的对象数组中一直会保留上一首歌曲,也就是”Song==null”这个条件一直为假,则就不会自动播放下一首,所以在此需要把他的Song对象的值强行改为null,这样在Timer控件的自动刷新下,便会自动播放下一首歌曲了

其实在这个过程中,最主要的便是获取需要播放的歌曲的URL地址,所以在获取DataGirdView控件的值得时候,要同时获取到该歌曲的Url地址,把他存放在对象数组中隐藏起来,在播放当前歌曲的方法中再把它调用出来即可

时间: 2024-10-14 07:56:25

歌曲播放界面原理的相关文章

KTV歌曲播放原理

歌曲播放原理 一开始要有一个Song类,在类外面定义枚举,在里面放四种状态, 为:已播放,未播放,重唱,切歌 在类里把歌曲名称和路径封装成字段 起初每首歌的状态默认为未播放 通过MadeSongPlayed(),MadeSongAgain(),MadeSongCut()这几种方法 可以实现分别将歌曲状态改为已播放,重唱,切歌的功能 当你在歌曲列表页面想要点击播放一首歌的时候 因为现在的歌曲名和歌手只是两个字符串,所以你要先创建一个歌曲对象 此外,还要在PlayList类里写一个方法获取当前播放的

软件工程之Spring音乐播放界面C#编写细节

由于小组成员已经完成软件的详细设计说明书,在这里只具体说明软件程序的细节编写,以免重复. 歌曲的播放采用VS自带的axWindowsMediaPlayer插件,所以程序中涉及到许多该插件的使用.Ctlcontrols属性是AxWindowsMediaPlayer的一个重要属性, 此控件中有许多常用成员.下面是常用的几个,除了4和5在该音乐播放器中不需要用到,其他几个方法均需要. (1) 方法play 用于播放多媒体文件,其格式为:窗体名.控件名.Ctlcontrols.play() 如: AxW

Android开发本地及网络Mp3音乐播放器(六)实现独立音乐播放界面

实现功能: 功能1:点击MyMusicListFragment(本地音乐)底部UI中的专辑封面图片打开的PlayActivity(独立音乐播放界面) PlayActivity中,显示正在播放的歌名 PlayActivity中,显示专辑封面图片(大图) PlayActivity中,显示上一首按钮,实现对应功能 PlayActivity中,显示暂停播放按钮,实现对应功能 PlayActivity中,显示下一首,实现对应功能 功能2:实现同步MyMusicListFragment(本地音乐界面)和Pl

Android开发本地及网络Mp3音乐播放器(十)最近播放界面与数据保存更新

实现功能: 实现MyLoveMusicActivity(音乐收藏界面) 实现MyRecordMusicActivity(最近播放界面) 实现MyMusicListFragment(本地音乐界面)ItemClick事件发生后,切换到PlayActivity(独立音乐播放界面)只播放 本地音乐. 实现MyLoveMusicActivity(音乐收藏界面)ItemClick事件发生后,切换到PlayActivity(独立音乐播放界面)只播放 音乐收藏. 实现MyRecordMusicActivity(

简易仿QQ音乐播放界面(可以播放并且可以简单切歌)

由于代码太多,服务器不允许,所以就只能把代码分出一部分,另外一部分上传截图. 重要方法代码如下:(不是截图是代码) #pragma mark - 收藏按钮点击事件 -(void)loveBtnClick { if (!isLove) { [loveBtn setImage:[UIImage imageNamed:@"[email protected]"] forState:UIControlStateNormal]; isLove=YES; /** *成功收藏歌曲的背景控件label

简单的播放界面

// //  MoviePlayerView.m //  Project1--Movie // //  Created by imac on 15/9/4. //  Copyright (c) 2015年 Hong. All rights reserved. // #import "MoviePlayerView.h" #import "UIView+ViewController.h" @implementation MoviePlayerView - (void)

歌曲播放的随机算法的探讨

对于音乐播放,最流行的有顺序播放,顺序循环播放,随机播放,单曲播放四种选项. 首先我以个人观点点评下目前常用的四种功能: 顺序播放:是一种很鸡肋的功能,为什么各大厂商都要做!感觉一般人都不会用的,播放一遍就停了,还不如做一个定时/定数停止播放的功能: 顺序循环播放:使用体验很不错,但是有个比较糟糕的问题是,让两首不相关的作品间产生了联系,导致了一首歌放完了,就已经知道了下首歌是什么了.或者当在其他地方听到了一首歌完了,脑中便浮现了自己音乐列表的下首歌了: 单曲播放:这个选项没什么可说的,动听歌曲

Android 开发之网易云音乐(或QQ音乐)的播放界面转盘和自定义SeekBar的实现

这个东西我在eoeAndroid上首发的,但没有详细的实现说明:http://www.eoeandroid.com/thread-317901-1-1.html 在csdn上进行详细的说明吧.(同时上两个社区,这真是个坏毛病,以后专注csdn好了). 1.用过网易云音乐客户端应该都懂得它那个播放界面,是蛮炫的.先看我实现的效果图吧: 自定义SeekBar这里少了点东西,进度条应该有两种颜色表示进度,一种是当前播放进度,一种是下载进度.我只实现了第一个,第二个要实现的话还需要重载SeekBar.

android仿酷狗歌曲列表界面点击右侧字母定位到该字母的集合列表

原文:android仿酷狗歌曲列表界面点击右侧字母定位到该字母的集合列表 源代码下载地址:http://www.zuidaima.com/share/1550463694064640.htm android仿酷狗歌 曲列表界面 点击右侧字母定位到该字母的集合列表,也像类似联系人界面效果