音乐播放器的歌曲进度调节和音量大小调节实现

JavaScript制作音乐播放器。实现了进度条拖动。音量大小控制,上一首下一首的切换 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="css/public.css"> <link rel... 阅读详情

.h文件的全局变量

#import <UIKit/UIKit.h>

#import <AVFoundation/AVFoundation.h>

@interface PlayerViewController : UIViewController

{

    AVAudioPlayer *_play;

    UISlider *_timeSlider;

    UISlider *_volumeSlider;

    UILabel *_timeLable;

    

}

@property(nonatomic,assign)NSInteger time;

@end



.m文件的实现

#import "PlayerViewController.h"

#import "MPPlayController.h"

@interface PlayerViewController ()


@end


@implementation PlayerViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    

    self.title = @"音乐播放";

    

    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"安静" ofType:@"mp3"];

    NSURL *urlStr = [[NSURL alloc] initFileURLWithPath:filePath];

    _play = [[AVAudioPlayer alloc] initWithContentsOfURL:urlStr error:nil];

//    _play.currentTime = 0.0;

    _play.volume = 20;

    //加入播放序列

    [_play prepareToPlay];

    

    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    button.frame = CGRectMake((375-80)/2, 50, 80, 30);

    [button setTitle:@"音乐" forState:UIControlStateNormal];

    [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:button];

    //音量滑动条

    _volumeSlider = [[UISlider alloc] init];

    _volumeSlider.frame = CGRectMake(100, 150, 130, 20);

    _volumeSlider.minimumValue = 0;

    _volumeSlider.maximumValue = 100;

    _volumeSlider.value = _play.volume;

    [_volumeSlider addTarget:self action:@selector(volumeAction) forControlEvents:UIControlEventValueChanged];

    [self.view addSubview:_volumeSlider];

    

    //音量Lable

    UILabel *volumeLable = [[UILabel alloc] initWithFrame:CGRectMake(20, 150, 40, 20)];

    volumeLable.text = @"音量";

    [self.view addSubview:volumeLable];

    

   

    

    //时间进度条

    _timeSlider = [[UISlider alloc] initWithFrame:CGRectMake(20, 250, 320,20)];

    

//    _timeSlider.value = 0.0;

    _timeSlider.minimumValue = 0;

    _timeSlider.maximumValue = 335;

    [_timeSlider addTarget:self action:@selector(sliderAction) forControlEvents:UIControlEventValueChanged];

    [self.view addSubview:_timeSlider];


    //时间

    _timeLable = [[UILabel alloc] initWithFrame:CGRectMake(150, 200,80, 20)];

    _timeLable.text = @"时间:";

    

    

    [self.view addSubview:_timeLable];

    

    //视频按钮

    UIButton *mediaButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    mediaButton.frame = CGRectMake(140, 400, 50, 30);

    [mediaButton setTitle:@"播放" forState:UIControlStateNormal];

    [mediaButton addTarget:self action:@selector(mediaButtonAction) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:mediaButton];

    

    

}


- (void)buttonAction:(UIButton *)btn{


    

    

    if (_play.playing) {

        

        [btn setTitle:@"暂停" forState:UIControlStateNormal];

        [_play pause];

    }else{

        [btn setTitle:@"开始" forState:UIControlStateNormal];


    [_play play];

    }

    

    [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeAction:) userInfo:nil repeats:YES];

    

}

//播放进度条事件

- (void)sliderAction{

    //移动滑动条时让播放的进度达到一致

    _play.currentTime = _timeSlider.value;

    //让滑动条到播放的位置

    _time = _timeSlider.value;


}

//定时器方法

- (void)timeAction:(NSTimer *)timer{

    if (_play.playing) {

        _time++;

        _timeSlider.value = _time;

        _timeLable.text = [NSString stringWithFormat:@"时间:%ld",_time];

    }else{

        [timer invalidate];

    }

    


    

}

//音量条滑动条的事件

- (void)volumeAction{

    

    _play.volume = _volumeSlider.value;


}

此功能实现了简单的一首歌曲的播放进度随意拖动到想播放的地方,音量大小的的调节。(按住滑动条滑动即可)



【音乐播放器的设计与实现】 当用户移动音量进度条时音量值对应的刻度发生了变化,该行为会触发进度条的 onchange事件,从而调用JavaScript中的setVolume()方法,此时music对象的音量值volume将重置为进度条上的刻度值,因此实现了实时更新音量调节的效果。调整完变量i的值之后可以调用HTML5媒体对象中的pause()方法暂停当前音乐的播放,重置audio标签中的src属性值,换成新歌曲对应的文件路径,同时使用innerHTML更新span标签内部的歌曲名称。完成后重新执行play()方法播放新的曲目。 阅读详情

相关推荐

【HTML5媒体API项目】-音乐播放器的设计与实现

设计一款基于H5音频技术的音乐播放器,要求实现音乐的播放、暂停、音量大小调节、上一首和下一首的切换。

代号006 2912

音乐播放器之(音量控制的实现)

今天介绍一下音乐播放器的声音控制逻辑,安卓没接触多久,不对的地方忘大神指出,适用于初学者。 首先,我们需要一个类AudioManager此类为管理器,来控制音量,下面是需要定义的变量AudioManager am;//管理器控制音量 SeekBar seekBar_time,seekBar_listen;//时间进度条,声音进度条 int maxVolume =50;//最大音量

chenyifei521qq的博客 5690

IMX6ULL-QT项目之mplayer音乐播放器-交叉编译mplayer

在linux环境下安装mplayer后,打开ubuntu里的QT,QT安装的版本5.12.9,QT界面的图标基本都是正点原子收集的图片,实现方式参考B站里的教学 简单介绍mplayer命令: 按键操作: 音量减小:/、9 音量增大:*、0 上、下键: 前进、后退1分钟, 左键、右键:前进、后退10秒 mplayer Music/* 这个就是播放Music目录下的所有音乐,是按顺序播放的 命令: -shuffle 随机播放 -playlis......

qq_40792874的博客 3885

安卓手机调节音量代码:java语言

【代码】安卓手机调节音量代码:java语言。

453

java音乐播放器源码

java音乐播放器源码,本人编写希望和大家来交流,学习

android音乐播放器中的进度条(音量控制+进度)

android音乐播放器中的进度条(音量控制+进度)

使用Java控制Windows系统音量的实现

在这篇文章中,我们将专注于如何使用Java控制Windows系统的音量。我们将展示如何通过创建和执行VBS脚本来实现系统音量的静音、增加和减少。该方法不依赖于外部库,只需利用Java的标准库即可完成任务。

想起来就更新 1026

FDTD脚本教程——结构的创建

文章目录结构的搭建创建长方体创建柱体多边形柱体(椭)圆柱体圆环柱自定义形状创建surface波导球棱锥 在lumerical中,可以使用脚本进行操作,可在右侧脚本编辑器运行,或者直接在下方shell输入。 结构的搭建 创建长方体 um = 1e-6; nm = 1e-7; addrect; set("name","myRect"); set("material","SiO2 (Glass) - Palik"); set("render type","wireframe"); # 默认是细节渲染,也就是det

战斗果冻的训练中心 2万+

自己动手开发音乐播放器《七》使用滑块实现音量和播放进度

音量控制和播放进度也是音乐播放器中的基本的操作 首先定义一个函数用于控制音量 //控制音量 void Main_OnSlider(HWND hwnd,HWND hwndCtl,UINT code,int pos); 然后在BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)中添加下面的代码

meishadevs的个人博客 3852

OpenCV视频防抖算法实现与优化指南

本文详细解析了如何使用OpenCV实现视频防抖算法。通过特征点检测与光流跟踪估算帧间运动,利用滑动平均平滑运动轨迹,并应用仿射变换重塑视频帧。文章提供了完整的代码实现、参数调优指南及黑边处理等优化技巧,帮助开发者高效处理手持拍摄等场景下的视频抖动问题。

weixin_29062823的博客 341

UVM自学笔记3——项目之三——从零开始搭建ahb_sramc验证平台

创建如下所示的目录结构: 2.在tb的文件下:顶层的testbench如下:在tb中,第24行的代码将uvm宏相关的内容include进来,第26行的代码把uvm_pkg包导入进来,然后将agent相关的包(ahb_pkg/sram_pkg),testcase相关的包(uvm_ahb_sram_test_pkg)以及env相关的包(uvm_ahb_sram_env_pkg)都导入进来,在第38行和39行将接口以virtual interface的形式配置给ahb_agent和sramc_agent下

ZhangShuHuai11的博客 9477

【Java】实现wav格式音乐的 播放、停止、循环播放、音量调节

前言 最近一段时间,学校请了达内的老师给我们上Java初级实训课。实训上完后,分组选题,做小游戏。我们小组选了 泡泡堂,小组将近5天的协作编码,终于差不多做完了。之后我也会把一些收获的东西抽离出来,总结到博客上去。 期间我有负责游戏音效、BGM的工作,经上网查询资料,自己写了一个简单的音乐播放类,来满足我们的游戏的需求。该工具类,没有调用其他第三方jar包,用的是JDK底层API。只支持wav格式的音乐文件。 代码 MusicPlayer.java package com.tedu.mana

passerbyYSQ 1万+

第三章:ESP32零基础教学 - 3.4 蓝牙通信

本文详细介绍了如何在ESP32上实现经典蓝牙和BLE通信,并提供了代码解释和示例。通过这些示例,你可以轻松地将蓝牙功能集成到你的物联网项目中。无论是经典蓝牙的简单串口通信,还是BLE的灵活服务架构,ESP32都能满足你的需求。

Hi__gril的博客 4022

音乐播放器的设计与实现

音乐播放器的设计与实现 功能要求: 设计一款基于HTML5音频技术的音乐播放器,要求实现音乐的播放、暂停、音量大小调节、上一首和下一首切换。 实现效果图:

YQEMMMM的博客 6076

手把手教你学PCIE(5.1)--pcie固件初始化的硬件初始化

PCIe 固件初始化的硬件初始化是一个复杂但至关重要的过程。通过正确配置 PCIe 控制器和相关硬件,可以确保系统的稳定性和性能。以上步骤和示例代码提供了一个基本的框架,实际开发中可能需要根据具体的硬件和需求进行调整和优化。

MHD0815的博客 1689

海康威视 2024届 数字逻辑设计 实习笔试分析

记录一下 5月11日晚,做的海康威视的一场笔试。分享给需要的IC人。 岗位:数字逻辑设计工程师(浙江 杭州) 转载需要本人同意! 我的见解不一定都是准确的,欢迎评论区交流指正~~

记录所学,分享知识,结识挚友 1万+

如何调整html中音乐播放器的大小,HTML5音乐播放器(三):播放进度,时间显示以及音量的调节...

时间真是不够用,只能晚上抽空把功能完善了,这节我们说下歌曲播放进度,时间显示以及音量的调节这三个部分。一.歌曲播放进度这个功能用到的 audio api 主要有:currentTime() :以秒为单位返回从开始播放到目前所花的时间,也可设置 currentTime 的值来跳转到特定位置;duration:获取媒体文件的播放时长,以秒为单位,如果无法获取,则为 NaN;歌曲进度:首先先设置一个定时...

weixin_33305349的博客 3206

YOLO26 终极蒸馏指南:从入门到 SOTA (The Ultimate Distillation Guide)

《YOLO26 蒸馏技术指南》深入解析了知识蒸馏在目标检测中的应用,提出五大蒸馏范式:响应蒸馏(学习最终输出)、特征蒸馏(模仿中间特征)、关系蒸馏(捕捉通道关联)、CWD(通道语义对齐)和FGD(前景背景分离)。实验表明,"Response KD + CWD + FGD"组合效果最佳,使YOLO26n在0.5ms推理速度下达到0.956 mAP50,甚至超越教师模型。指南提供模块化代码实现和超参数调优建议,强调蒸馏能平衡模型精度与效率,是轻量化部署的有效方案。

weixin_51988935的博客 717

音乐播放器的实现(五)—— 音量的加减和静音

音乐播放器的实现(五)—— 音量的加减和静音 传送门: 音乐播放器的实现(一)-- Audio Listener和Audio Source面板的介绍 音乐播放器的实现(二)—UI面板的制作 音乐播放器的实现(三)—进度条控制、播放、暂停、上(下)一曲、播放时间和总时间显示 音乐播放器的实现(四)—— 歌曲列表、顺序播放、单曲循环、随机播放、自动下一曲 前言 这篇我们加入音量控制键,可以改变音量的大小,实现静音和非静音的切换。 一、UI面板的制作 1、新建一个按钮、一个Slider和一个Text,调整好大小和

WenHui君_的博客 4521

C# 与欧姆龙 PLC 实战:通过 Ethernet/IP 协议进行设备控制与监控

本文介绍了如何通过C#和Ethernet/IP协议实现与欧姆龙PLC的通信。Ethernet/IP是基于以太网的工业协议,适用于工业设备间的实时数据交换。文章详细讲解了使用EthernetIPSharp库建立连接、读写数据的步骤,并提供了示例代码。此外,还探讨了实时监控、报警系统等高级功能,为工业自动化控制系统开发提供了实用指导。该方法简化了PLC通信开发,提高了系统可靠性和智能化程度。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 814

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

音乐播放器的设计与实现 功能要求:设计一款基于HTML5音频技术的音乐播放器,要求实现音乐的播放、暂停、音量大小调节、上一首和下一首切换,运行效果如图所示

本地资源在谷歌浏览器上是无法快进的。这个是重点有很多解决方法,我直接用火狐就ok了 https://www.gaitubao.com/# 改图宝链接 用于歌曲头像 我用的大小为300,300 我用的图标全都来自iconfont Iconfont-阿里巴巴矢量图标库 贴上代码 每一行都有注释 包括命名 有问题 欢迎评论 或者询问 QQ1099256274 <!DOCTYPE html&...

daddykei的博客 3861

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

用Qt写一个简单的音乐播放器(三):增加界面(播放跳转与音量控制)

一、前言 在用Qt写一个简单的音乐播放器(一):使用QMediaPlayer播放音乐中,我们已经知道如何去使用QMediaPlayer播放音乐。 在用Qt写一个简单的音乐播放器(二):增加界面(开始和暂停音乐)中,我们增加了播放音乐/暂停音乐的按钮。 不论是音频还是视频的播放,都是有进度控制的,我们可以拖动滑动条,到指定位置播放,并且播放音频或者视频的音量我们也可以自由调节,第三篇我们就来说一说,播放控制和音量控制。 二、滑动条(Slider) 滑动条(Slider)是一个很常见的控件,我们可以看到在控件的

LyRics1996的博客 8394

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

html-----简易版音乐播放器

html-----音乐播放器 1.功能要求:设计一款基于HTML5音频技术的音乐播放器,要求实现音乐的播放、暂停、音量大小调节、上一首和下一首切换。 2.界面设计要求: 仿CD图像 音量调节进度条 歌曲名称显示 音乐播放器的相关按钮 2.1 仿CD图像:利用border-radius设置圆边角(这张图片必须是正方形图片不然不会是圆形的图片) #CDimage img{ border-radius:50%; } 2.2音量调节:使用input可以调节音量 <!--音量调节进度条--> &l

qq_52924791的博客 9889

Qt入门项目:基于Linux的简易音乐播放器

mplayer是一款开源多媒体播放器,以GNU通用公共许可证发布。此款软件可在各主流操作系统使用,例如Linux和其他类Unix系统、Windows及Mac OS X系统。支持播放多种主流的音视频格式。mplayer有两种工作模式,一种普通模式,一种 slave模式。(1)普通模式: mplayer -quiet 音视频文件名即为 mplayer -quiet x.mp3显示如下情况则为成功在普通模式运行下的其他指令,这些指令要在mplayer运行的前提下才能使用。

m0_74301908的博客 1731

构建简单的C#音乐播放器应用程序

在本文中,我们将介绍如何使用C#语言和NAudio库构建一个简单的音乐播放器应用程序(本地)。该应用程序具有以下功能:添加音乐文件: 用户可以通过文件对话框选择并添加MP3、WAV和FLAC格式的音乐文件。播放音乐:应用程序使用Windows Media Player控件来播放选定的音乐文件。用户可以在列表中选择音乐并播放。音量调节:应用程序允许用户通过滑动条调节音乐播放器的音量。停止播放:用户可以点击停止按钮来停止当前正在播放的音乐。

Whiskey_T的博客 2077

微信小程序——音乐播放器

了音乐小程序项目的完整开发流程,其开发步骤包括页面结构的分析、样式的设计、组件的运用等。通过本章的学习,读者能够掌握小程序的基本交互逻辑的开发,能够运用API来实现项目中的特定功能,学会解决开发过程中常见的问题。

weixin_66547608的博客 1万+
下一篇: iOS网络编程层次模型
CyanColor
博客等级 码龄12年 7粉丝 5原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值