AVAudioPlayer,AVPlayer 使用

14.Swift 播放音频 14 Swift 播放音频Swift 播放音频 AVPlayer AVAudioPlayer MPMoviePlayerViewController AVPlayerViewController Swift中的播放音频功能实现,可以使用AVPlayer和AVAudioPlayer ;也有两个封装好的Controller可以播放音频,分别是MPMoviePlayerViewController和者A 阅读详情


这两者简单使用,话不多说,我们直接来看代码吧。


#import <UIKit/UIKit.h>

#import <AVFoundation/AVFoundation.h> // xcode6.0以后 直接导入该框架即可

@interface ViewController : UIViewController
{
    __weak IBOutlet UILabel *_timeLabel;//时间显示Label
}
@property (weak, nonatomic) IBOutlet UISlider *Slider; //播放进度滑动条
@property (weak, nonatomic) IBOutlet UISlider *voliSlider; //播放进度滑动条

@end




#import "ViewController.h"

@interface ViewController ()
{
    AVAudioPlayer *_player; //只能播放本地音乐
//    AVPlayer *_player;  //能播放本地音乐 和 流媒体音乐
    //记录播放时间
    NSTimer *timer;
//    BOOL isPlaying;
}
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    
//———————————————————————————AVAudioPlayer————————————————————————————————

    //    NSURL *url1=[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"music1.mp3" ofType:nil]];
    NSURL *url2=[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"Taylor Swift - Blank Space [mqms].mp3" ofType:nil]];
    //只能播放本地音乐
    _player=[[AVAudioPlayer alloc] initWithContentsOfURL:url2 error:nil];
    //播放总时间
    _Slider.maximumValue=_player.duration;
    
    
//———————————————————————————AVPlayer————————————————————————————————————
    
//    NSString *urlPath=@"http://qqmusic.4ftt.com/m/101369814.mp3?20150318133115";
//    NSURL *url=[NSURL URLWithString:urlPath];
//    //能播放本地音乐 和 流媒体音乐
//    _player=[[AVPlayer alloc] initWithURL:url];
    
//———————————————————————————————————————————————————————————————————————
    
    /*
      
       AVAudioPlayer 与 AVPlayer 共同属性
     
     */
    
    //播放次数 默认为0(播放一次)1 即是 播放2次 -1或者无穷大的数 为无限循环
    _player.numberOfLoops=1;
    //播放音量默认1
    _player.volume=.5;
    //播放音量
    _voliSlider.value=.5;
    
//    [_player play]; //播放
//    [_player stop]; //停止
//    [_player pause]; //暂停
    
   
}

//播放事件
- (IBAction)PlayerAction:(UIButton *)sender {
    
    if (_player.isPlaying) {
        
        [_player pause];
        
        [timer invalidate];
        
    }else{
        
        [_player play];
        //开启定时器
        timer=[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timerAction:) userInfo:nil repeats:YES];
        
       
    }
    
}

//定时器事件
- (void)timerAction:(NSTimer *)time
{
    //播放滑块的值设定为音乐播放当前时间
    _Slider.value=_player.currentTime;

    NSInteger timerun=(NSInteger)_player.currentTime;
    //时间 67 格式转化为 文本 01:07 显示样式
    if (timerun%60<10)
    {
        if (timerun/60>0) {
        
            NSString *test=[NSString stringWithFormat:@"0%ld:0%ld",timerun/60,timerun-60*(timerun/60)];
            _timeLabel.text=test;
            
        }else
        {
            NSString *test=[NSString stringWithFormat:@"0%ld:0%ld",timerun/60,timerun];
            _timeLabel.text=test;

        }
    }else if(timerun%60>=10)
    {
        if (timerun/60>0) {
            
            NSString *test=[NSString stringWithFormat:@"0%ld:%ld",timerun/60,timerun-60*(timerun/60)];
            _timeLabel.text=test;
            
        }else
        {
            NSString *test=[NSString stringWithFormat:@"0%ld:%ld",timerun/60,timerun];
            _timeLabel.text=test;
        }
    }

   
}

//播放进度滑动事件
- (IBAction)Slider:(UISlider *)sender {
    
    //播放当前时间等于滑动条滑动的值
    _player.currentTime=sender.value;

}

//播放音量滑动事件
- (IBAction)voliAction:(UISlider *)sender {
    
    _player.volume=sender.value;
    
}



@end







上述控件都在 Main.storyboard 画好了 两个UISlider也连接好了事件,相信这些简单操作难不倒读者吧,好了大家去试一试吧。


iOS音频播放问题:后台播放与AvPlayer和AvAudioPlayer 在iOS开发中,使用AvPlayer和AvAudioPlayer进行音频播放是常见的做法。然而,当我们希望在应用程序进入后台时继续播放音频时,可能会遇到一些问题。本文将介绍如何实现后台播放音频的功能,并提供相应的源代码示例。要在后台播放音频,我们需要进行一些设置和配置。首先,我们需要在应用程序的Info.plist文件中添加一些键值对。在Info.plist文件中,右键单击并选择"Open As" > “Source Code”,然后在标签内添加以下代码: 阅读详情

相关推荐

SwiftUI iOS 精品完整项目之动物声音播放AVAudioPlayer (教程含源码)

实战需求 SwiftUI iOS 精品完整项目之动物声音播放AVAudioPlayer (教程含源码) 本文价值与收获 看完本文后,您将能够作出下面的界面 看完本文您将掌握的技能 SwiftUI Fundamentals Practical Combine AVPlayer with SwiftUI Free Sound Effects 实战代码 1、主界面 import SwiftUI struct HomeView: View { @StateObject var vie

iCloudEnd的博客 1604

【iOS】音频播放之AVAudioPlayer,AVPlayer,AVQueuePlayer

前言在婚语APP中,分别使用了AVAudioPlayer,AVPlayer,AVQueuePlayer来实现音频播放功能,下面以婚语的实际需求分别介绍它们的使用方法和区别。需求1 档期备忘:用户新建档期记录时,可以进行录音备忘,录音完成后可直接播放,保存档期时将录音文件上传到服务器。分析1:因为录音备忘一般时长较短文件较小,所以录音完将录音文件上传到服务器的同时,本地也保留录音文件,用户查看档期并点

dolacmeng的专栏 2万+

如何使用superpowers

"这个 bug 帮我修一下" → 我会自动走 systematic-debugging → TDD → verify 流程。- "帮我添加一个登录功能" → 我会自动走 brainstorming → plan → TDD → verify 流程。只要任务有 1% 的可能性适用某个技能,我就会先调用它再行动。→ TDD(测试驱动开发)→ verification(验证)→ code review(代码审查)提出需求 → brainstorming(头脑风暴)→ writing-plans(编写计划)

xiaojingjianqiang的博客 610

AVPlayer,AVAudioPlayer,语音合成

使用AVPlayer来播放视频,AVPlayer只管播放视频,将视频显示出来时AVPlayerLayer的工作。而要向视图添加AVPlayerLayer就需要视图必须有一个CALayer来使AVPlayerLayer来作为其子层。在IOS中所有的UIView都有一个CALayer,而OS X中NSView在默认情况下是不使用CALayer的。要在OS X中开启CALayer选中要打开CALayer

exialym的博客 984

半导体关键系统之RMS浅谈

这种系统还要求设备在设备上的配方发生变化时通知工厂主机,并需要与EAP(Equipment Automation Process)联结,旨在实时管控自动化系统所用配方与用户当初的设定是否匹配,从而使得自动化系统所用的配方更加趋于安全。例如,制药行业中的药品生产管理系统(GMP),它对药品的生产过程进行严格控制,包括原材料的采购、生产工艺流程、质量控制等方面。这些系统通常与企业的生产系统集成,能够对产品的配方进行精细化管理,包括配方的设计、试验、验证、生产等环节。

阿拉伯梳子的专栏 6155

⭐⭐⭐全网最详细YOLOv8教程,从环境配置到自己训练,再到数据集的制作,包的各位⭐⭐⭐

问题原因:当你“pip install ultralytics” 时,torch和torchvision会作为它的依赖一起安装了,当执行“pip install torch torchvision torchaudio --index-url。”时,会卸载torch,然后再安装torch+cuda版本,但是不会自动卸载torchvision已有版本,然后再安装torchvision+cuda版本。🎉🎉🎉恭喜各位道友,已经可以训练模型了,现在就是制作自己的数据集,所谓申神通秘境,随心所欲,万物皆可识别也

weixin_74840239的博客 7492

iOS的影片播放MediaPlayer 和avplayer的简单用法

在iOS開發上,如果遇到需要播放影片,如開機動畫…,我們很習慣地會使用MediaPlayer來播放影片,因為很方便使用,所以就一直使用下去。但是隨著客戶的要求越來越嚴苛,尤其是過場動畫或互動效果上的表現。所以如果在一些動畫中還挾帶影片一起運算,那勢必機器會跑不動。所以在iOS 4之後,我們可以使用AVPlayer這個類別來進行更細微的操作。 備註: MediaPlayer的影片是放

xiaoxin5596的专栏 1772

2023.03.27更新大麦网PC端抢购软件和使用教程

近期发现大麦网页端抢购页面悄然发生变化,之前可以在页面选择票价、档次,并且点击按钮进行购票,现在不行了,新的页面如下图所示。已经安全没有了点击按钮,因此,但是并不代表不能像以前之前那样。

猫敷雪 1万+

AVPlayer vs. AVAudioPlayer

AVPlayer can play from AVPlayerItem using AVURLAsset with an iPod library url. The AVAudioPlayer cannot play from an iPod library url. AVPlayer has no volume property and requires the use of the

努力~ 2537

7.29华为OD机试真题 新系统 - 能量对撞 (Java/Py/C/C++/Js/Go)

7.29华为OD机试真题 新系统 - 能量对撞 (Java/Py/C/C++/Js/Go)

算法大师! 1322

YOLO11,ultralytics-main源代码目录结构详解

本文详细介绍了YOLO11框架的ultralytics-main源代码目录结构,帮助用户更好地理解和使用YOLO模型。主要目录包括:docker文件夹,包含多种Docker镜像文件,适用于不同硬件环境;docs文件夹,存放YOLO的说明文档;examples文件夹,提供YOLO使用的示例代码;tests文件夹,包含单元测试模块;ultralytics文件夹,为核心代码所在,包含推理逻辑、配置、数据处理等模块。其中,engine文件夹负责训练和推理引擎,models文件夹存放模型架构,nn定义神经网络结构

qq_30279827的博客 1282

iOS多媒体播放音乐AVAudioPlayer和AVPlayer

iOS多媒体播放音乐AVAudioPlayer和AVPlayer 1 iOS系统的音频播放方式 AVAudioPlayer AVPlayer 系统声音音频排列 AVAudioPlayer 使用简单方便,但只能播放本地音频,不支持流媒体播放 AVPlayer iOS4.0以后,可以使用AVPlayer播放本地音频和支持流媒体播放,但是提供接口较少,处理音频不够灵活 音频队列 音频

xujingjing 学习iOS开发历程 4144

ImportError: DLL load failed: 找不到指定的程序的解决方案

本文主要介绍了ImportError: DLL load failed: 找不到指定的程序的解决方案,希望能对使用Python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 18万+

iOS 开发:AVPlayer播放视频

AVPlayer播放视频 AVPlayer  AVAudioPlayer  MediaPlayer 的不同 AVAudioPlayer:使用简单方便,但只能播放本地音频,不支持流媒体播放 AVPlayer: iOS4.0以后,可以使用AVPlayer播放本地音频和支持流媒体播放,但是提供接口较少,处理音频不够灵活 MediaPlayer :是用来处理网络上的视频文件的播放的系统类.

Dongxk的博客 1088

【WRFDA教程第一期】运行观测预处理程序(OBSPROC)

运行观测预处理程序(OBSPROC)

WW、forever的博客 1893

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

ios系统html播放音频播放器,iOS音频播放之AVAudioPlayer,AVPlayer,AVQueuePlayer

本文以婚语APP为例,来讲解集体使用方法。在婚语APP中,分别使用了AVAudioPlayer,AVPlayer,AVQueuePlayer来实现音频播放功能,下面以婚语的实际需求分别介绍它们的使用方法和区别。需求1档期备忘:用户新建档期记录时,可以进行录音备忘,录音完成后可直接播放,保存档期时将录音文件上传到服务器。分析1:因为录音备忘一般时长较短文件较小,所以录音完将录音文件上传到服务器的同时...

weixin_42491886的博客 1459

IDEA的使用指南

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

ios开发之--AVAudioPlayer/AVPlayer的应用

项目当中用到了音频播放器,所以就参考官方文档,写了一个,代码如下: .h #import <UIKit/UIKit.h> @interface hAudioPlayViewController : UIViewController @property(nonatomic,strong)NSString *titleStr;//音乐名字 @property(nonato...

weixin_33979363的博客 164

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

AVPlayer介绍

AVPlayer介绍AVPlayer通常用来播放音乐,其内部已封装了流媒体功能 ,拿到网络url可以做到边缓存边播放的功能。 顺便提一下:AVAudioPlayer只能用本地的 url 来播放音乐 用 data 也需要把歌曲全部缓存后才可播放 做不到 边缓存边播放的效果// AVAudioPlayer两种方式 AVAudioPlayer *audioPlayer=[[AVAudioPlayer

比上不足 5569

AVAudioPlayer与AVPlayer播放音频

最近做项目需要播放语音,第一种情况是下载到本地进行播放,第二种情况是进行在线播放,在进行播放操作的时候,两种情况都播放失败

嘻嘻 5015

AVAudioPlayer播放本地音乐AVPlayer播放网络音乐

- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view from its nib. /*----------AVAudioPlayer----------*/ // NSString *filePath = [[NSBundle mainB

逆钟夕的忘忧阁 2551

使用AVPlayer在init的时候,控制台打印 Setting device discovery mode to DiscoveryMode_None

使用AVPlayer播放的时候 在播放器init的时候,会有短暂的延迟卡顿!控制台会打印 -[AVFigRouteDiscovererOutputDeviceDiscoverySessionImpl outputDeviceDiscoverySessionDidChangeDiscoveryMode:]: Setting device discovery mode to DiscoveryMode...

weixin_34326429的博客 621

iOS音频播放

iOS的原声类API中,AVAudioPlayer和AVPlayer两个类都有播放音频的功能,其中AVAudioPlayer,设置成只允许播放本地的音频,而AVPlayer的话,则是有播放网络上的音频的能力。需要使用这两个,都需要首先导入AVFoundation框架。如果需要使用后台播放,则会需要使用到AVAudioSession。等等 转载于:https://www.c...

diaoshuling8792的博客 72

iOS音频与视频的开发(一)-使用AVAudioPlayer播放音乐、使用AVPlayerViewController播放视频...

  iOS的多媒体支持非常强大,它提供了多套支持多媒体的API,无论是音频、视频的播放,还是录制,iOS都提供了多种API支持。借助于这些API的支持,iOS应用既可以查看、播放手机相册中的照片、视频,也可以播放来自网络的视频.iOS也提供了对摄像头、麦克风的支持。 1、使用AVAudioPlayer播放音乐   AVAudioPlayer比较简单,当控制AVAudioPlayer对象装载音频完...

Landen2011的博客 403

IOS音频播放概述

1.IOS系统中的音频播放方式 AVAudioPlayer、AVPlayer、系统声音、音频队列 AVAudioPlayer:使用简单方便,但只能播放本地音频,不支持流媒体播放。 AVPlayer:IOS4.0以后,可以使用AVPlayer播放本地音频和支持流媒体播放,但提供接口较少,处理音频不够灵活。 音频队列主要处理流媒体播放,提供了强大且灵活的API接口(C函数的接口),但处理起来也

游戏爱好者1199 1128

iOS 语音循环播放设置

2、设置AVPlayerItem的url,然后AVPlayer播放这个AVPlayerItem,在AVPlayer播放AVPlayerItem回调读取播放完毕后,重新设置进度,具体如图。1、使用AVPlayerItem与AVPlayer(这个简单,只需要设置回调),而不是AVAudioPlayer(这个麻烦,需要设置代理、计时器等等)//进度 当前时间/总时间。本地文件、网络文件,区别就是URL创建方式。

a787188834的专栏 1093
上一篇: 微信公众平台开发(一)配置接口
下一篇: iOS程序中调用系统自带应用(短信,邮件,浏览器,地图,AppStore,拨打电话)
韩小城
博客等级 码龄12年 37粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值