`

播放音频声音文件

    博客分类:
  • ios
 
阅读更多

iphone开发中播放声音文件主要使用AVAudioPlayer 类,它的功能非常强大支持播放音频的格式也非常的多,我们可以把它看成一个高级的音乐播放器,它支持的播放格式有
■ AAC
■ AMR(AdaptiveMulti-Rate, aformatforspeech)
■ ALAC(AppleLossless)
■ iLBC(internetLowBitrateCodec, anotherformatforspeech)
■ IMA4(IMA/ADPCM)
■ linearPCM(uncompressed)
■ µ-lawanda-law
■ MP3(MPEG-1audiolayer3

今天主要介绍一下播放mp3 . 




       AVAudioPlayer 是 AVFoundation.framework 中定义的一个类,所以使用要先在工程中引入AVFoundation.framework 如图所示点击"+"号将AVFoundation导入。




       

 将音频文件放入资源文件夹中





下面我开始介绍代码中如何调用
AVAudioPlayer 播放音频文件

  
声明类
#import "playSoundViewController.h"
#import <UIKit/UIKit.h>
#import <AVFoundation/AVFoundation.h>
@interface playSoundViewController : UIViewController {
    
    IBOutlet UIButton * playSound;//播放音乐  
    IBOutlet UIButton * playPause;//播放暂停  
    IBOutlet UIButton * playStop;//播放停止  
    //定义一个声音的播放器
    AVAudioPlayer *player;
}

-(IBAction)playSoundPressed:(id)pressed;
-(IBAction)playPausePressed:(id)pressed;
-(IBAction)playStopPressed:(id)pressed;
@end
 

@implementation playSoundViewController

- (void)dealloc
{
    [super dealloc];
    //程序的严谨性 在显示对象关闭后把相应的对象清空
    //时刻谨记
    [playSound release];
    [player release];
}

- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
    
    // Release any cached data, images, etc that aren't in use.
}

#pragma mark - View lifecycle


// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad
{
    [super viewDidLoad];
    //在这里实现声音的播放代码
    //找到mp3在资源库中的路径 文件名称为sound 类型为mp3
    NSString *path = [[NSBundle mainBundle] pathForResource:@"sound" ofType:@"mp3"];
    //在这里判断以下是否能找到这个音乐文件
    if (path) {
        //从path路径中 加载播放器
        player = [[AVAudioPlayer alloc]initWithContentsOfURL:[[NSURL alloc]initFileURLWithPath:path]error:nil];
        //初始化播放器
        [player prepareToPlay];
        
        //设置播放循环次数,如果numberOfLoops为负数 音频文件就会一直循环播放下去
        player.numberOfLoops = -1;
        
        //设置音频音量 volume的取值范围在 0.0为最小 0.1为最大 可以根据自己的情况而设置
        player.volume = 0.5f;
        
        NSLog(@"播放加载");
    }
    
}

-(void)playSoundPressed:(id)pressed
{
    //点击按钮后开始播放音乐
    //当player有值的情况下并且没有在播放中 开始播放音乐
    if (player) 
    {
        if (![player isPlaying]) 
        {
            [player play];
            NSLog(@"播放开始");
        }
    }
}

-(void)playPausePressed:(id)pressed
{
    //暂停播放声音
    if (player) {
        if ([player isPlaying]) {
            [player pause];
            NSLog(@"播放暂停");
        }
    }
}

-(void)playStopPressed:(id)pressed
{
    //停止播放声音
    if (player) {
        if ([player isPlaying]) {
            [player stop];
            NSLog(@"播放停止");
        }
    }
}


- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}

@end
 
分享到:
评论

相关推荐

    Qt 播放音频文件

    通过它们,你可以轻松地构建一个支持多音频文件播放的应用,同时还能实现丰富的控制功能和用户交互。在实际项目中,可以根据需求进行更复杂的定制,例如添加搜索、收藏、播放历史等功能,以满足用户的不同需求。

    C#使用NAudio录音和播放音频文件-实时绘制音频波形图

    这个项目中的"NAudio-Demo"示例涵盖了如何利用NAudio实现录音、播放音频文件以及实时绘制音频波形图的功能。以下是关于这些知识点的详细说明: ### 1. NAudio 库介绍 NAudio 是由 Mark Heath 创建的.NET类库,它...

    STM32利用PWM波播放WAV声音文件

    在本文中,我们将深入探讨如何使用STM32微控制器通过PWM波来播放WAV音频文件。STM32是一款广泛应用于嵌入式系统中的高性能、低功耗的微处理器,而WAV是一种常见的数字音频格式,它保留了原始录音的全部数据,因此...

    播放资源文件文件中的声音

    - `lFlags = SND_RESOURCE + SND_ASYNC + SND_NODEFAULT`: 设置播放模式为异步播放、不播放默认声音且播放资源文件中的音频。 - `lRet = PlaySound(sSoundName, hInst, lFlags)`: 调用`PlaySound`函数播放音频。 ...

    STM32使用PWM播放WAV音频文件

    在音频应用中,通过改变PWM信号的占空比,我们可以调整输出声音的音量和频率,从而实现音频播放。 2. **FatFS文件系统**:FatFS是ChaN软件公司开发的一个轻量级的文件系统模块,适用于嵌入式设备。它允许STM32读取...

    在VB中同时播放多个音频文件

    在VB(Visual Basic)编程环境中,同时播放多个音频文件是一项挑战性的任务,因为VB6内建的多媒体控件,如MSComCtrl库中的MediaPlayer控件,仅支持单个音频文件的播放。不过,通过自定义模块和第三方组件,我们可以...

    wav音频文件 测试文件

    这些文件可能用于各种测试场景,比如音频播放软件的兼容性测试、音频处理算法的验证、声音质量评估等。通过这些具体的人物或通用名称,我们可以假设这些文件包含了不同的语音内容,适合用来测试不同情境下的音频处理...

    小程序ios音频播放没声音问题的解决

    特别是针对iOS平台,开发者可能遇到一些特定的音频播放问题,比如在iOS设备上播放音频文件时没有声音。这类问题的存在,不仅影响用户体验,也可能阻碍项目进展。本知识点将针对这一问题,从技术细节和解决方法上,...

    简单的VB6播放器 源码,vbs播放音频代码,Visual Basic

    音频播放也可以通过Windows Media Player控件实现,但VB6还提供了其他选择,如Sound控件,它适用于播放简单的声音文件,如WAV格式。然而,对于更复杂的音频格式和操作,Windows Media Player控件更为合适。 在实际...

    Delphi 播放声音文件源码

    `SND_FILENAME` 参数表示声音文件来自磁盘,`SND_ASYNC` 表示播放时不等待文件播放完毕。 总结来说,Delphi 中播放声音文件主要依赖于 `MMSystem` 或者 `Windows` 单元提供的功能。对于简单的需求,TMediaPlayer ...

    C# NAudio录音和播放音频文件-实时绘制音频波形图(从音频流数据获取,而非设备获取)

    在本文中,我们将深入探讨如何使用C#编程语言和NAudio库来实现音频的录制、播放功能,并且实时绘制音频波形图。NAudio是一个强大的开源库,它为.NET开发者提供了处理音频数据的能力,包括读取、写入、混音以及处理...

    LabVIEW播放提示声音或者音乐

    - 如果需要同时播放多个声音,可以使用多个“波形发生器”VI实例,每个实例对应一个音频文件。 通过以上步骤,你可以在LabVIEW中创建一个简单的音乐播放器。然而,实际应用可能需要更复杂的逻辑,例如,处理音频...

    STM32音乐播放,把音频文件放入代码中,无需外部flash

    在本文中,我们将深入探讨如何在STM32微控制器上实现音乐播放功能,特别是通过将音频文件嵌入到代码中,避免使用外部Flash存储。STM32F407是一款高性能、低功耗的微控制器,它具有强大的ARM Cortex-M4内核,非常适合...

    unity 动态播放音频 Assetstream 里

    本文将深入探讨如何使用Unity的`WWW`类来从StreamingAssets目录动态读取并播放音频文件。 首先,我们要理解Unity的StreamingAssets目录。这是一个特殊的位置,开发者可以在这个目录下放置各种资源文件,如音频、...

    播放各种声音文件的类

    vb 播放各种声音文件的类 播放各种声音文件的类播放各种声音文件的类

    C++播放音频

    在这个例子中,我们首先加载一个WAV格式的音频文件,然后打开一个音频设备,将音频数据发送到设备,并开始播放。注意,音频播放可能需要适当的延迟处理,以确保音频能够正确播放。 **方法二:使用PortAudio库** ...

    IFIX播放音频文件

    - 在IFIX中创建触发器,将特定事件(如按钮点击、状态改变等)与音频文件播放关联起来。 - 这种方式适合于需要用户交互的情景,如操作指导或状态确认等。 #### 五、注意事项及技巧 1. **选择合适的音频格式**:...

    labview 声音播放文件

    利用labview实现声音文件的播放,支持wav格式文件

    音频测试文件,各种格式集合 wav pcm mp3

    在分析和使用这个压缩包时,你可以通过播放不同格式的文件来检测设备的兼容性,比较不同格式下的音质差异,甚至可以进行音频编码和解码的实验,以加深对音频处理的理解。无论你是开发者、音频工程师还是普通用户,这...

    aac音频测试文件

    比特率越高,通常音频文件的质量也就越好,因为更多的数据被用来表示声音的细节。48K比特率的文件会提供更丰富的音频质量,而32K比特率的文件则在牺牲部分质量的同时实现了更小的文件大小,适合在有限带宽的环境下...

Global site tag (gtag.js) - Google Analytics