iOS中的音频播放

WKWebView音视频媒体播放处理 1. 对WKWebViewConfiguration进行设置。 实现媒体文件可以自动播放、使用内嵌HTML5播放等功能 使用这个测试网址 // 初始化配置对象 WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init]; // 默认是NO,这个值决定了用内嵌HTML5播放视频还是用本地的全屏控制 configuration.allowsInlineMediaPlayback = YES; // 自动播放 阅读详情

//////////AVAudioPlayer////////////

#import <AVFoundation/AVFoundation.h>

#import "ViewController.h"


@interface ViewController ()

{

    AVAudioPlayer *audioPlayer;

}


@property (weak, nonatomic) IBOutlet UISlider *volumeSlider;

@property (weak, nonatomic) IBOutlet UISlider *currentSlider;

@property (weak, nonatomic) IBOutlet UILabel *timeLabel;


- (IBAction)volumeSlider:(UISlider *)sender;

- (IBAction)currentSlider:(UISlider *)sender;


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    //找到本地音频文件

    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"天涯—张利鹏" ofType:@"mp3"];

    

    //包装成url,调用本地文件使用fileURLWithPath方法 远程文件调用使用URLWithString

    NSURL *url = [NSURL fileURLWithPath:filePath];

    

    audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:NULL];

    

    

    //准备播放 也可以不写

    [audioPlayer prepareToPlay];

    

    //遇到play就播放

//    if ([audioPlayer play]) {

//        NSLog(@"开始播放音乐了");

//    }

    //设置滑块的区间范围

    _volumeSlider.minimumValue = 0;

    _volumeSlider.maximumValue = 1;

    

    _currentSlider.minimumValue = 0;

    _currentSlider.maximumValue = audioPlayer.duration;  //总时长

    

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

}


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

    

    if (audioPlayer.playing) {

        NSString *currentTime = [NSString stringWithFormat:@"%.0f",audioPlayer.currentTime];

        _timeLabel.text = currentTime;

        

        _currentSlider.value = audioPlayer.currentTime;

    }

    

}


- (IBAction)currentSlider:(UISlider *)sender {

    //设置当前的播放进度时间

    audioPlayer.currentTime = sender.value;

}


- (IBAction)volumeSlider:(UISlider *)sender {

    

    //设置当前的播放进度时间

    audioPlayer.currentTime = sender.value;

}


- (IBAction)playAction:(UIButton *)sender {

    //播放器是否正在播放

    BOOL playing = audioPlayer.playing;

    if (playing) { //正在播放

        //暂停

        [audioPlayer pause];

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

    } else {

        [audioPlayer play];

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

    }

}

@end



//////////AVPlayer//////////// 

修改- (void)viewDidLoad代码如下

- (void)viewDidLoad

{

    [super viewDidLoad];

    

    NSError *error;

    //设置音频会话支持后台播放

    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error];

    

    //播放远程地址

    NSString *mp3Url = @"http://mp3a.9ku.com:1234/qzonemp3/chenchusheng001.mp3";

    NSURL *url = [NSURL URLWithString:mp3Url];

    

    player = [[AVPlayer alloc] initWithURL:url];

    [player play];//获取流媒体数据播放  

}

运行


将

//播放远程地址

NSString *mp3Url = @"http://music.baidutt.com/up/kwcawcca/ydsspc.mp3";

NSURL *url = [NSURL URLWithString:mp3Url];


player = [[AVPlayer alloc] initWithURL:url];

[player play];//获取流媒体数据播放


注释掉 在其下加入

//播放本地文件

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"第一夫人" ofType:@"mp3"];

NSURL *url = [NSURL fileURLWithPath:filePath];

player = [[AVPlayer alloc] initWithURL:url];

[player play];


运行





//////////AudioToolbox.framework////////////


//先导入AudioToolbox.framework框架

- (IBAction)playAction:(UIButton *)sender{

    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"44th Street Medium" ofType:@"caf"];

    NSURL *url = [NSURL fileURLWithPath:filePath];

    

    //unsigned long soundId;

    SystemSoundID  soundId;

    

    //为url地址注册系统声音

    AudioServicesCreateSystemSoundID((__bridge CFURLRef)url, &soundId);

    

    //播放系统声音

    AudioServicesPlaySystemSound(soundId);

      

   ***********播放震动  (模拟器无法模拟震动)*************

    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);


    

}







音频播放的实现以及后台播放音频 iOS 1、首先,音频播放的实现,我这里使用的是AVPlayer。 AVAudioPlayer只能播放本地资源。当然还有别的播放方法这里就不列举了。 以下代码实现的是如下图所示的效果,点击图标可以暂停或者继续播放: 需要的属性: @property (nonatomic, strong) AVPlayer *player; @property (nonatomic, strong) UIIma... 阅读详情

相关推荐

iOS音频播放之AudioQueue(一):播放本地音乐

AudioQueue简介 AudioStreamer说明 AudioQueue详解 AudioQueue工作原理 AudioQueue主要接口 AudioQueueNewOutput AudioQueueAllocateBuffer AudioQueueEnqueueBuffer AudioQueueStart Pause Stop Flush Reset Dispose AudioQueueFre

人生如梦 1万+

AVAudioPlayer音频播放器—IOS开发

IOS中有三种播放音频的方式:AVAudioPlayer、音频服务、音频队列。        此文主要讲AVAudioPlayer,其他两个请见相关文章。 AVAudioPlayer在AVFoundation框架下,所以我们要导入AVFoundation.framework。 AVAudioPlayer类封装了播放单个声音的能力。播放器可以用NSURL或者NSData来初始化,要注意的是NS

潇洒的程序员 4万+

iOS 设置音频倍速播放

ViewController.h // // ViewController.h // iOSAudio // // Created by 杜甲 on 13-11-18. // Copyright (c) 2013年 杜甲. All rights reserved. // #import #import @interface ViewController : UIViewCon

杜甲同学的专栏 9691

iOS中音频的录制与播放(本地音频文件的播放)

iOS功能开发涉及到音频处理时,最常见的时进行录音,以及音频文件的播放、停止播放等的操作。在开发中还要避免同一个音频文件,或不同音频文件之间的处理,比如说正在播放A音频时,可以停止播放A音频,也可以播放B音频时,停止播放A音频。在我的封装类中,已经对这方面做了处理。 Demo下载地址 音频开发注意事项 1、录音功能主要使用到"AVAudioRecorder"类 2、音频

番薯大佬的专栏 4532

iOS 用 AVPlayer 播放一个本地音频文件

iOS 用 AVPlayer 播放一个本地音频文件 步骤 第一步:在 Project - TARGETS - Project名 - Build Phases - Link Binary With Libraries,添加 AVFoundation.framework。第二步:创建一个 UIViewController 的子类 PlayerViewController。第三步:在 P

今夕莫离-IT 2512

实现iOS音频播放功能:AVAudioPlayer的MP3播放指南

本文还有配套的精品资源,点击获取 简介:在iOS应用开发中,AVFoundation框架的AVAudioPlayer类能有效地播放MP3等音频文件。本教程详细指导了如何使用AVAudioPlayer实现音频播放、暂停、继续播放,控制音量,以及如何在应用中处理来电中断事件。我们将通过实例代码了解初始化播放器、加载音频文件、实现AVAudioPlayerDelegate协议、更...

weixin_42418754的博客 3415

iOS 播放音频的几种方法

iPhone OS主要提供以下了几种播放音频的方法: System Sound Services AVAudioPlayer 类 Audio Queue Services OpenAL 1. System Sound Services System Sound Services是最底层也是最简单的声音播放服务,调用 AudioServicesPlaySystemSo

小乔的博客 6179

JasperReport制作行内容合并的表格

效果图: 实现思路一: 交叉表 另一个思路: 普通表格 缺点:无法实现内容 垂直居中显示 准备工作 一、数据准备 DROP TABLE IF EXISTS `address_item_sex_value`; CREATE TABLE `address_item_sex_value` ( `id` int(11) NOT NULL AUTO_INCREM...

weixin_34148456的博客 2466

IOS 音频播放

iOS音频播放 (一):概述 前言 从事音乐相关的app开发也已经有一段时日了,在这过程中app的播放器几经修改我也因此对于iOS下的音频播放实现有了一定的研究。写这个系列的博客目的一方面希望能够抛砖引玉,另一方面也是希望能帮助国内其他的iOS开发者和爱好者少走弯路(我自己就遇到了不少的坑=。=)。 本篇为《iOS音频播放》系列的第一篇,主要将对iOS下实现音频播放的方法进行概述。 ...

weixin_30914981的博客 124

STM32-TIM4-定时器中断

#include "project.h" #include "timer.h" //TIM4_Init(2000 ,72);//定时2ms /* 定时器中断的定时时间设定 定时器只需要配置时钟、TIM和NVIC即可 */ void TIM4_Init(u16 period, u16 prescaler) { NVIC_InitTypeDef NVIC_InitStructure; TIM_...

snaygo 6204

23.网工入门篇--------介绍一下园区网典型组网架构及案例实践

园区网典型组网架构主要分为小型、中型、大型三种类型,以下是详细介绍及相关案例实践:

qq_31450765的博客 964

iOS 锁屏音频播放控制及音频信息设置 —— HERO博客

iOS 锁屏音频播放控制及音频信息设置。

hero_wqb的博客 5373

从零开始:如何用Python建立你的第一个人工智能模型

在这篇文章中,我们将介绍如何从零开始使用Python建立你的第一个人工智能模型。无论你是刚接触编程的新手,还是有经验的开发者想进一步探索人工智能领域,这篇文章都将为你提供清晰、详细的指南。我们将一步步探索数据预处理、模型建立、训练和测试的过程,以及如何解读模型的结果。

Allen1862105的博客 4万+

ios系统html播放音频播放器,iOS AVAudioPlayer(音频播放)

AVAudioPlayer在iOS程序中,音频播放随处可见,有的声音只有1秒,有的声音好几分钟 。iOS支持的音频格式AAC、ALAC、IMA4、linear、MP3。AVAudioPlayer类用于回放音频数据。是一个易于使用的类,它提供了大量的功能。使用该类可以实现音频的载入,播放,暂停,停止。需要加入AVFoundation.framework框架,在使用的类中引入。播放系统音(system...

weixin_42236063的博客 646

【YOLOv11多模态融合改进】| CVPR2025 LCA轻量交叉注意力 双向模态交叉引导 + 双支路噪点抑制,兼顾纹理与热目标特征融合

可见光模态富含纹理、色彩、边缘细节,但夜间/低照度场景信噪比极低,暗区噪声泛滥;红外模态依靠热辐射凸显弱小目标、暗区物体轮廓,但缺失真实色彩与精细纹理。简单拼接/逐加融合仅做浅层特征叠加,无法建立可见光纹理、红外热特征的双向引导关联,两类模态互补信息无法精准互通;普通自注意力仅单模态内部建模,跨模态交互匮乏,红外热目标易被可见光暗噪声淹没,可见光有效纹理易被红外灰度信息覆盖;

Limiiiing的博客 115

C#函数返回多个值实现实例

本文实例讲解C#函数返回多个值多种实现方法。

qq_30725967的博客 1170

iOS 音频播放的几种方法

iPhone OS 主要提供以下了几种播放音频的方法: System Sound Services AVAudioPlayer 类 Audio Queue Services OpenAL 1. System Sound Services System Sound Services 是最底层也是最简单的声音播放服务,调用 AudioServicesPlay

MayerF的专栏 2545

AFSim2.9.0学习笔记 —— 2、AFSim的Wizard软件概述(ArkSIM集成开发环境 (IDE))

AFSim2.9.0学习笔记 —— 2、AFSim的Wizard软件详述(ArkSIM集成开发环境 (IDE))

916

iOS 音频播放

在iOS中音频播放从形式上可以分为音效播放和音乐播放。前者主要指的是一些短音频播放,通常作为点缀音频,对于这类音频不需要进行进度、循环等控制。后者指的是一些较长的音频,通常是主音频,对于这些音频的播放通常需要进行精确的控制。在iOS中播放两类音频分别使用AudioToolbox.framework和AVFoundation.framework来完成音效和音乐播放。 音效 AudioToolbo

jyt婷的博客 442

3大绝招!MySQL如何轻松搞定文本、图像和视频的多模态数据分析?

首先,让我们来了解一下“多模态”到底是什么意思。简单来说,多模态指的是能够同时处理不同类型数据(如文本、图像、音频等)的能力。传统的数据库往往只能专注于一种或几种特定类型的数据,比如关系型数据库主要处理结构化数据,而文档型数据库则更适合非结构化数据。但是现在,随着技术的进步,像MySQL这样的数据库也开始支持更加复杂的数据模型,允许我们在同一个系统内处理多种格式的数据。通过上述五个部分的详细介绍,相信你现在应该对如何利用MySQL进行多模态数据分析有了更清晰的认识。

java专栏 2114

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

IOS音频的流媒体播放

大家应该已经注意到了,无论是前面的录音还是音频播放均不支持网络流媒体播放,当然对于录音来说这种需求可能不大,但是对于音频播放来说有时候就很有必要了。AVAudioPlayer只能播放本地文件,并且是一次性加载所以音频数据,初始化AVAudioPlayer时指定的URL也只能是File URL而不能是HTTP URL。当然,将音频文件下载到本地然后再调用AVAudioPlayer来播放也是一种播放网

ciwei_numberOne的博客 3500

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

关于iOS播放网络音频

播放网络音频并没有那么难,网上查了写资料。代码很简单。 1.第一步 定义全局变量 @property(nonatomic,strong)AVPlayer *player; 2.第二部 懒加载初始化  - (AVPlayer *)player {     if (_player == nil) {         _player = [[AVPlayer al

LWWWWG的博客 1033

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

iOS 音频的录制、播放及音频文件管理

音频会话 音效播放 音乐播放 音频录制 音频管理 音频队列服务 参考地址

LOLITA0164的博客 2万+

QMUI_iOS中的音频播放:后台播放与控制中心集成

在iOS应用开发中,音频播放功能常常需要支持后台运行和系统控制中心交互,以提供更完整的用户体验。QMUI_iOS框架虽然未直接提供音频播放组件,但通过其现有的基础架构和扩展能力,可以快速实现这一功能。本文将从后台播放配置、控制中心集成两个核心场景,介绍如何基于QMUI_iOS构建专业的音频播放体验。 ## 后台播放基础配置 实现后台音频播放的核心在于正确配置音频会话和应用权限。需要在项目的`I

gitblog_00698的博客 1125
上一篇: static全解
下一篇: sizeof详解 字节对齐
LG_刚刚好
博客等级 码龄10年 14粉丝 91原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值