iOS网络收音机

ios应用源码之收音机 2018128 ios应用源码之收音机 . 立即下载
  • 摘要:    在iOS平台下播放直播流,需要用到解码编码等听起来很牛X的技术,自己也发现AppStore中有很多网络电台应用,但不知道人家是怎么实现的。经过在网上搜索、询问好友后,终于找到了一个很好的第三方解决方案,即百度媒体云。    好了闲话少说,进入正题:进入SDK下载界面,下载iOS开发包http://developer.baidu.com/wiki/index.php?title=docs/c
  •     在iOS平台下播放直播流,需要用到解码编码等听起来很牛X的技术,自己也发现AppStore中有很多网络电台应用,但不知道人家是怎么实现的。经过在网上搜索、询问好友后,终于找到了一个很好的第三方解决方案,即百度媒体云。

        好了闲话少说,进入正题:

    1. 进入SDK下载界面,下载iOS开发包

      http://developer.baidu.com/wiki/index.php?title=docs/cplat/media/video/sdk

        注:我下载的包见下图,但是发现有些问题,具体啥问题在这不详细说了,如果你运行Demo也遇见这个问题的话,那就接着往下看iOS网络收音机_IOS

    2.添加媒体云包、相关框架到项目中(创建个新项目,按照下面的步骤来少走些弯路)

        1)开发者需要使用百度账号登录百度开发者中心注册成为百度开发者并创建工程,方可获取应用ID、对应的API key(即:ak)及 Secret Key(即:sk)等信息。因为需要播放直播流,所以需要开启视频服务才能使用(见下图)

    iOS网络收音机_IOS

        2)媒体云包分为真机包和模拟器包,这个要看自己的情况进行添加,我的是真机运行(发现百度这个Demo,在真机上运行时木有问题的)。添加相关的框架:

        OpenAL.framework

        OpenGLES.framework

        libbz2.1.0.dylib

        libz.dylib

        AudioToolbox.framework

        Security.framework

        MobileCoreServices.framework

        CFNetwork.framework

        SystemConfiguration.framework

        AVFoundation.framework

        MediaPlayer.framework

        3)获取上面申请应用的API key(即:ak)及 Secret Key(即:sk)以备用 SDK 认证时必须传入ak及sk(只需前 16 位)参数。 即右上方API key SecretKey 详见下图:

    iOS网络收音机_IOS

        4)配置工程

     

           注:由于当前的 CyberPlayerController 只支持 armv7 架构,所以在导入相关静态库前,您需要在 Xcode 中配置您的 targets。选择 Build Settings->Architectures->Valid Architectures, 将该选项的 Debug/Release 键都置为 armv7(即去掉 armv7s 的支持)。 Build Active Architecture Only 设置为 NO。Xcode 中的 project不需要进行任何操作。详见下图:

    iOS网络收音机_IOS

        完成以上步骤,Build下,添加上上面已经准备好的API key(即:ak)及 Secret Key(即:sk),到了这里大部分任务已经完成了。下面开始敲代码了,下面的代码是我实现的一个RadioPlayer单例:

        RadioPlayer.h文件

    #import <Foundation/Foundation.h>@interface RadioPlayer : NSObject{}@property (nonatomic,assign) BOOL isPlayed;//是否已经播放状态值+ (RadioPlayer *) sharedInstance;//单例- (void) setRadioUrlString:(NSString *) urlString;//设置播放地址- (void) play;//开始播放- (void) stop;//停止播放@end

     

    RadioPlayer.m文件

    #import "RadioPlayer.h"#import <AVFoundation/AVFoundation.h>#import "CyberPlayerController.h"CyberPlayerController *cbPlayerController;//播放器控制器@implementation RadioPlayerstatic RadioPlayer *sharedInstance = nil ;+ (RadioPlayer *) sharedInstance{    static dispatch_once_t onceToken;// 锁    dispatch_once (&; onceToken, ^ {// 最多调用一次        sharedInstance = [[self  alloc] init];    });    return  sharedInstance;}// 当第一次使用这个单例时,会调用这个init方法。- (id) init{    self = [super init];        if (self) {        //后台播放设置        AVAudioSession *session = [AVAudioSession sharedInstance];        [session setActive:YES error:nil];        [session setCategory:AVAudioSessionCategoryPlayback error:nil];                //初始化播放器        NSString *msAK = @"自己的msAK;        NSString *msSK = @"自己的msSk;        [[CyberPlayerController class] setBAEAPIKey:msAK SecretKey:msSK];        cbPlayerController = [[CyberPlayerController alloc] init];    }        return self;}//设置播放地址- (void) setRadioUrlString:(NSString *) urlString{    NSURL *url = [NSURL URLWithString:urlString];    if (!url) {        url = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];    }    [cbPlayerController setContentURL:url];}//开始播放- (void) play{    switch (cbPlayerController.playbackState) {        case CBPMoviePlaybackStateStopped:        case CBPMoviePlaybackStateInterrupted:            //初始化完成后直接播放视频,不需要调用play方法            cbPlayerController.shouldAutoplay = YES;            //初始化视频文件            [cbPlayerController prepareToPlay];                        sharedInstance.isPlayed = YES;            break;        default:            [cbPlayerController prepareToPlay];            sharedInstance.isPlayed = YES;            break;    }}//停止播放- (void) stop{    [cbPlayerController stop];    sharedInstance.isPlayed = NO;}@end

     

    播放音频

        RadioPlayer *radioPlayer = [RadioPlayer sharedInstance];    [radioPlayer setRadioUrlString:@"mmsh://124.128.18.76/jiaotong"];//注意 mms 改为 mmsh    [radioPlayer play];//播放    //[radioPlayer stop];//停止

     

     

  • 以上是iOS网络收音机的内容,更多 appstore 解决方案 网络收音机 百度 第三方 的内容,请您使用右上方搜索功能获取相关信息。
网络收音机IRadioChina ios上的最好的收音机。 软件简介:新版3.0上市,中文电台最全的收音机应用!中文台超过900个,全面支持大陆、台湾、香港和澳门电台。同时提供全世界电台上万个。我们更了解中国! - 支持后台播放(iOS4.0以上) - 关闭屏幕显示后继续播放,极大的节省手机耗电 - 用户可以方便将经常听的台收藏到 "我的收藏" 列表,"我的收藏"列表中前九个台有对应的 1-9 的按钮快速播放 - 可以通过上个台和下个台的按钮方便的遍历广播 - 中文简体和繁体支持 立即下载

相关推荐

ios收音机源码

ios平台的收音机完整源代码,适合自学者参考学习

说说 IOS mms流媒体(网络电台)播放

今天主要来说说在IOS设备上播放MMS流媒体的一些事情: 背景: 主要是由于IOS平台本身只支持HTTP网络传输协议,如果要支持mms,rtsp等协议,需要开发者自己来移植一些第三方的库来实现,相对来说难度不小。 应用场景: 如网络电台,大部分的数据源都是mms的,也有部分rtsp的,极少数的http。 方案: 实现方案来看,目前主要是采用Libmms和FFMp

ALDRIDGE1的专栏 3037

ios版本的收音机程序

ios版本的收音机程序, objective c. iso.源程序

iOS音乐电台类项目开发

1.技术难度不是太大,代码大致如下 2.用到的一些第三方 ZFProgressView,pageController,RESideMenu,MJRefresh,MBProgressHUD,RNFrostedSidebar,SDWebImage,SDCycleScrollView等 3.下载地址 https://itunes.apple.com/cn/app/ling-ling-k...

dengkan1998的博客 174

爱看资源2020最新千月美化,2020最新版的千月影視美化版源码.zip

此源碼用的是apicloud,需要用的模块在压缩包中,也有教程! 后端替换域名qzav.aote.xyz 前端替换域名qzav.aote.xyz 软件名字:牛叉影視 都替换 使用notepad++批量替换URL【qzav.aote.xyz】为你的域名,替换名称【牛叉影視】为你的应用名称; 修改后端application/database.php数据库信息 将替换好的后端源码打包上传至站点根目录后解压; 配置网站伪静态为ThinkPHP; 创建数据库,并导入ikmovie.sql数据库文件 登陆后台为你的URL后面+/login/login/进入后台,默认用户名admin

短网址在线生成 url.cn短网址生成器 v1.02

短网址生成器就是一种把原来很长的网址缩短为很短的网址的工具,发表QQ空间说说、微博等,都有字数的限制,但这些社交媒体都能够自动转换短网址,其他媒介,比如QQ好友、群、签

蓝牙开发之 IOS AMS

蓝牙开发 AMS(Apple Media Service) 相关总结。

nixgnauhcuy's blog 6087

保姆级教程:在NXPS32144环境下安装EB TRESOS 29.0.0并配置MCAL开发环境

本文提供了一份详细的保姆级教程,指导如何在NXP S32K144环境下安装EB TRESOS 29.0.0并配置MCAL开发环境。内容涵盖从前期资源准备、软件安装步骤、核心的MCAL关联配置,到首次创建AUTOSAR工程并进行模块配置的全流程,旨在帮助汽车电子开发者搭建稳定、可用的底层软件开发地基。

wind6的博客 954

android,wince,windows,ios mms 网络电台收音机,小巧,兼容性好,性能高

android 上添加mms 协议,并且用流式播放 添加wma解码器。兼容1.6以上。 有需要得朋友可以联系。QQ:514540005 现已支持wince平台,windows,wm,ios等等 声明:需要源码的可以与我联系,但是这部分是需要付费的。 测试例子已经上传到资源中,可以去下载。 windows 版本下载地址:http

Tiger Leap(虎跃) 3493

光电容积脉搏波PPG信号分析笔记

脉搏波信号PPG分析笔记

teresa_zp的专栏 6475

HFSS入门学习笔记——微带一分四功分器的设计与仿真

功率分配器是将输入信号功率分成相等或不相等的几路功率输出的一种多端口无源微波网络,用于功率分配和功率合成。工程上常用的微带功分器有T型功分器和威尔金森功分器。经典的威尔金森功分器有几个缺点:①、多应用于低频段,高频段时,波长会与隔离电阻的尺寸相比拟,此时需要考虑电阻的分布参数效应;②、大功率应用时,隔离电阻的耗散功率要很大,因此隔离电阻的体积也会比较大。

weixin_42126696的博客 2万+

[置顶] android,wince,windows,ios mms 网络电台收音机,小巧,兼容性好,性能高...

android上添加mms 协议,并且用流式播放 添加wma解码器。兼容1.6以上。 有需要得朋友可以联系。QQ:514540005 现已支持wince平台,windows,wm,ios等等 声明:需要源码的可以与我联系,但是这部分是需要付费的。 测试例子已经上传到资源中,可以去下载。 windows 版本下载地址:ht...

weixin_30699465的博客 69

ITK-snap医学图像标注方法(超级详细)——保姆级

医学3D图像标注方法,非常详细,保姆级

jialiyk的博客 3万+

[Android] 小旋风收音机 v1.1.7

这是一款简洁无广告的免费收音机应用,支持安卓/iOS设备,包含全国各省市电台及网络广播。软件提供新闻、音乐、交通等20多类节目,支持回放、自定义电台和睡眠定时功能。相比同类应用的注册限制、收费广告等问题,这款软件无需登录、功能完整,兼容安卓5.0至16.0系统(包括车机)和iOS13.0以上版本。特色功能涵盖历史记录、家乡电台收听和助眠音频,是市面上臃肿收音机应用的优质替代品。

TB资源 1565

SLAM轨迹评估神器evo实战:从GPS到TUM格式的完整转换指南(附Python代码)

本文详细介绍了如何使用evo工具将GPS数据转换为TUM格式,以便进行SLAM轨迹评估。通过Python代码实现GPS到笛卡尔坐标的精确转换,并提供了完整的处理流程和实战案例,帮助开发者轻松完成从原始GPS数据到精确轨迹评估的全过程。特别适用于ORB-SLAM等视觉SLAM算法的性能验证。

weixin_29074295的博客 292

【面试系列】数据分析师高频面试题及详细解答

本文为数据分析师岗位提供了详尽的面试题库和解答,涵盖初级、中级和高级三个层次。初级面试题涉及基本的数据处理和统计分析知识,如SQL查询、数据清理和基础统计概念。中级面试题则重点考察数据可视化、复杂查询和数据建模等技能。高级面试题则深入探讨高级统计方法、大数据处理和高级分析工具的使用。通过这些问题和解答,候选人可以全面了解数据分析师岗位所需的技能,帮助其更好地准备面试。常考知识点总结部分则系统归纳了数据分析师岗位的关键技能领域。

在路上的专栏 5222

日本网络收音机应用源码

日本网络收音机应用源码,该应用兼容性非常好的,可以支持iPhone和iPad版的,也是一款日本国的网络收音机流媒体应用,采用的是册边滑动导航,支持iphone和ipad全屏显示。内置日本国几乎所有的网络电台。 源码下载:http://code.662p.com/view/6387.html          详细说明: http://ios.

guangxiaove的专栏 1100

RH850从0搭建Autosar开发环境【6】- Davinci Configurator之CanIf模块配置详解(下)

RH850从0搭建Autosar开发环境【6】- Davinci Configurator之CanIf模块配置详解(下)

weixin_42412049的博客 2584
上一篇: iOS如何直接跳转到“缴水费、电费、燃气费、有线电视费”等。
下一篇: iOS百度地图4.1.1 升级修改
hsf_study
博客等级 码龄11年 10粉丝 126原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值