• 音频播放


    static AudioPlayerView *_audioPlayerView = nil;

    @implementation AudioPlayerView

    - (id)initWithFrame:(CGRect)frame

    {

        self = [super initWithFrame:frame];

        if (self) {        

        }

        returnself;

    }

    - (void)playerWithStringUrl:(NSString *)url

    {

        //如果正在播放同一种广播就继续播放

        if (self.player.playing && [url isEqualToString:self.palyerUrl]) {

            return;

        }

        //如果没有正在播放同一种广播就重新开始播放

        

        if (self.player && !self.player.playing &&  [url isEqualToString:self.palyerUrl]) {

            return;

        }

        self.palyerUrl = url;

        

        NSError * error;

    //音频绝对地址

    //生成音乐播放器,AVAudioPlayer

        NSURL *audioURL = [NSURL fileURLWithPath:url];

        AVAudioPlayer *tempPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:audioURL error:&error];

        self.player = tempPlayer;

        self.player.delegate = self;//播放器代理

        self.player.meteringEnabled = YES;//计量打开

        [tempPlayer release];

    }

    //单例

    + (AudioPlayerView *)shareAudioPlayerView

    {

        UIWindow *window = [UIApplicationsharedApplication].keyWindow;

        if (!window){

            window = [[UIApplicationsharedApplication].windowsobjectAtIndex:0];

        }

        @synchronized(self){//单元的写法

            if (_audioPlayerView == nil) {

                _audioPlayerView = [[AudioPlayerViewalloc] initWithFrame:CGRectZero];

                [window addSubview:_audioPlayerView];

            }

        }

        return_audioPlayerView;//已经生成就反应原来的

    }

    - (void)gotoPalying:(BOOL)isPlay

    {

        if (isPlay) {

            [self.player prepareToPlay];

            [self.player play];

        }

        else

        {

            [self.player pause];

        }

    }

    //播放完成

    - (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag

    {

        _playerBt.selected = NO;

    }

  • 相关阅读:
    C#session配置
    在本地局域网 windows server 2008 下安装 Nginx 1.12.1
    博客园地址
    oracle 导入关键字说明
    oracle 导出关键字说明
    重塑和轴向旋转
    合并重叠数据
    Pandas 的轴向连接 concat
    c语言数据类型、运算符和表达式
    数据规整化:pandas 求合并数据集(交集并集等)
  • 原文地址:https://www.cnblogs.com/leevaboo/p/3230028.html
Copyright © 2020-2023  润新知