Swift 广播流媒体 AVPlayer

2023-12-09

我想在 Swift 中从互联网传输音频,但还没有找到正确的功能示例。

In Objective-C

AVPlayerItem* playerItem =[AVPlayerItem playerItemWithURL:[NSURL URLWithString:streamURL]];
[playerItem addObserver:self forKeyPath:@"timedMetadata" options:NSKeyValueObservingOptionNew context:nil];
music = [AVPlayer playerWithPlayerItem:playerItem];
[music play];

我正在尝试什么Swift

let playerItem = AVPlayerItem(URL:NSURL(string:url))
        var player:AVPlayer!
        player = AVPlayer(playerItem:playerItem)
        player.rate = 1.0;
        player.play()
//this is not working

我还尝试添加 playerItem.addObserver(self, forKeyPath: "timedMetadata", options: NSKeyValueObservingOptions.New, context: nil) 但出现错误

'AVPlayerItem 类的实例 0x16edbd20 已被释放,而键值观察者仍向其注册。当前观测信息:( 上下文:0x0,属性:0x16ea5880> )'

关于如何解决这个问题有什么想法吗?


我用 swift 创建了一个收音机播放器,但我用了媒体播放器框架来玩。

var radioPlayer = MPMoviePlayerController(contentURL: "YOUR NSURL OBJECT WITH YOUR CUSTOM URL TO STREAM HERE");
radioPlayer.view.frame = CGRect(x: 0, y: 0, width: 0, height: 0)
radioPlayer.view.sizeToFit()
radioPlayer.movieSourceType = MPMovieSourceType.Streaming
radioPlayer.fullscreen = false;
radioPlayer.shouldAutoplay = true;
radioPlayer.prepareToPlay()
radioPlayer.play()
radioPlayer.controlStyle = MPMovieControlStyle.None;

如果您需要从流中监听元数据,则需要观察此通知MPMoviePlayer定时元数据更新通知

NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("metadataUpdated:"), name:MPMoviePlayerTimedMetadataUpdatedNotification, object: nil);

func metadataUpdated(n:NSNotification)
{
    if(radioPlayer.timedMetadata != nil && radioPlayer.timedMetadata.count > 0)
    {
        let firstMeta:MPTimedMetadata = radioPlayer.timedMetadata.first as! MPTimedMetadata;
        let data:String = firstMeta.value as! String;
        println(data); //your metadata here
    }
}

有了这个你就可以制作你的收音机播放器了,因为这个收音机是我工作过的,所以我制作了一个库来获取有关 Itunes 中音乐的信息,好吧,这个库是开放的,因为这个我只是想要一个帮助,如果你发现问题,错误我们更好的解决方案,修复并推送给所有人。

GitHub 中的 Itunes 搜索库

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 广播流媒体 AVPlayer 的相关文章

  • Swift PageControl 当前页面上更大的点

    我试图将当前页面的点缩放为大于未 选择 的点 我正在使用滚动视图委托来确定哪个页面是当前的 目前 点的大小没有变化 我将如何实现这一目标 func scrollViewDidEndDecelerating scrollView UIScro
  • Swift - 保存在 TableView 中选择的复选标记

    我对 Swift 相当陌生 并且在 TableView 多重选择方面遇到问题 我有多个选择 可以用复选标记进行检查 类似于待办事项列表 当我检查项目时 我希望能够返回 ListView 并保存我的选择 我假设将其保持在已保存状态的代码将位于
  • 如何在 iOS swift 中集成 Google Pay?

    嗨 朋友们 我搜索过有关 iOS swift 中谷歌支付集成的信息 我没有找到任何相关的解决方案 请帮助我如何解决这个问题 如果有任何链接或示例 请提供链接并指导我 谢谢 这是关于在印度发起 Google Pay 操作的问题吗 例如 使用
  • didRegisterForRemoteNotificationsWithDeviceToken 停止被调用 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在测试我的应用程序是否使用 Push Notifs 一整天都好好的 突然就不行了 设置完全没有变化 经过更多调试后 我发现该函
  • SwiftUI - SwiftUI 中有等效的 popViewController 吗?

    我正在使用 SwiftUI 希望在点击按钮时能够返回到之前的视图 与我们使用的相同popViewController里面一个UINavigationController 到目前为止有提供的方法吗 我也尝试过使用NavigationDesti
  • Swift 无法从上到下呈现视图控制器

    在我的应用程序中 我必须从上到下呈现屏幕 我尝试了下面的代码 它给出了相同的正常呈现风格 let screen self storyboard instantiateViewController withIdentifier Screen1
  • Alamofire 仅在 GET 请求上出现请求错误

    我正在努力将我的项目从 AFNetworking 转移到 Alamofire 真的很喜欢这个项目 POST 请求工作得很好 但是 我在尝试发出 GET 请求时收到此错误 这是一些示例代码 class func listCloudCrednt
  • Swift 3 GCD API 更改后的dispatch_once

    新语法是什么dispatch once在语言版本 3 中进行更改后的 Swift 中 旧版本如下 var token dispatch once t 0 func test dispatch once token These 对 libdi
  • 如何使用 SwiftUI 拖动工作滑块

    我想拖动一个滑块 当然也让它滑动 我可以做其中之一 但我不能两者都做 如何拖动并拥有可用的滑块 我也尝试找到一种方法来删除手势 但我找不到方法来做到这一点 还尝试了 Apple Composition SwiftUI Gestures 文档
  • 如何更改某些功能以兼容 iOS 10 或更低版本的 Snapchat 中的某些功能,例如相机视图控制器

    我正在制作一个视图控制器来制作像 snapchat 相机一样的相机视图控制器 我下面的代码在 iOS 11 或更高版本上完美运行 老实说 我并没有真正掌握我的代码 因为我只是按照这个像相机视图控制器这样的 snapchat 的教程进行操作
  • 快速从 appDelegate 中 popToRootViewController

    我试图从应用程序委托弹出到导航堆栈的根视图控制器 并且在将 obj c 中的内容转换为 swift 时遇到一些问题 obj c 中的工作原理 UINavigationController navigationController UINav
  • 如何从子 UICollectionview 内部获取 UITableView 的一部分

    我有一个UITableView with a UICollectionView在其每一行中 如下图所示 source https ashfurrow com blog putting a uicollectionview in a uita
  • CloudKit 获取当前用户的所有订阅

    我设法在 Apple CloudKit 中保存 更改和删除记录 我什至收到了与订阅相关的通知 但我不知道如何列出当前用户的所有订阅 到目前为止 这是我的代码 let operation CKFetchSubscriptionsOperati
  • 错误:“Int”无法转换为“@lvalue Float”

    给定以下函数 func greatestCommonDenominator first Int second Int gt Int return second 0 first greatestCommonDenominator second
  • 搜索TableView无法选择行

    在搜索 tableView 时 每次我尝试选择一行时 它都会返回到未搜索的 tableView 我缺少什么 当不过滤表格时 segue 工作得很好 当搜索栏被激活时 选择行的能力就会消失 import UIKit import Founda
  • UINavigationControllerDelegate的didShowViewController方法被调用了两次

    class ViewController UIViewController UINavigationControllerDelegate override func viewDidLoad super viewDidLoad navigat
  • 如何修复C风格的for语句?

    什么是正确的修复方法C 风格的 for 语句对于下面发布的代码 目前我正在交战 C 风格的 for 语句已弃用 并将在将来删除 斯威夫特的版本 var ifaddr UnsafeMutablePointer
  • CNContact 添加新的联系人问题

    我在通过以下方式添加联系人时遇到问题联系框架 我使用的是装有 iOS 12 1 2 的 iPhone 5s 设备 我添加联系人的代码如下 let saveRequest CNSaveRequest saveRequest add self
  • Swift 数组设置索引值不起作用

    我有一个方法 下面的内容 其中queue2只是一个 Int 我打印了很多东西 看看一切是否都正常 public func cool item Int println item println back queue2 insert item
  • 打印附加结构(swift 4)

    我有三个 textifled 用于将数据附加到结构中 如何打印我附加的内容 现在我收到一条错误消息 import UIKit class ViewController UIViewController IBOutlet var c UITe

随机推荐

  • Go 中的接口是如何表示的?

    我现在正在阅读两篇文章 有点困惑 本文 http blog golang org laws of reflection says gt var r io Reader tty err os OpenFile dev tty os O RDW
  • C# 4.0 可选 out/ref 参数

    C 4 0 是否允许可选out or ref论据 No 解决方法是使用另一种方法重载doesn t有 out ref 参数 并且它只调用您当前的方法 public bool SomeMethod out string input new o
  • 在视图中滚动时,recyclerView 不会调用 onBindViewHolder

    这是注意到的 启动时 数据项索引 0 1 5 将显示在视图中 并看到 onCreateViewHolder 和 onBindViewHolder 被调用 然后滚动出顶部项目 看到 onCreateViewHolder 和 onBindVie
  • 通过VBA解析Json数组

    我从 api 获取 json 响应并解析它以在 Excel 中更新 下面是代码 我无法进一步解析以获取价格信息 Dim strResult As String Dim objHTTP As Object Dim URL As String
  • Youtube-API:上传二进制字幕文件 (ebu-stl)

    YouTube 支持一些二进制字幕文件格式 例如 ebu stl 我有一个 stl 文件 当我通过 Web 界面上传它时 它可以正常上传和处理 但是 当我尝试使用 POST 请求通过 API v2 上传它时 它似乎无法正确识别文件格式 PO
  • $.mobile 未定义(Worklight + jQuery Mobile)

    我有主要的html
  • IScroll 包装器没有获得高度

    我有以下代码 div height 100 div class homebutton zeile a href pictures div class homebutton all div class homebutton name Pict
  • 我如何使用 python 从 flashscore 中抓取足球结果

    网页抓取 Python 我是刮擦新手 我想抓取英超联赛 2018 19 赛季结果 赛程 结果 日期 但我很难浏览该网站 我得到的只是空列表 无 如果您有可以分享的解决方案 这将是一个很大的帮助 这就是我尝试过的 import pandas
  • Angular 2:向 ngModelGroup 添加验证器

    我正在使用一个ngModelGroup将多个表单输入分组在一起的指令 在文档中 https angular io docs ts latest api forms index NgModelGroup directive html 我读到有
  • Promise.resolve 与解决

    我有这个代码 var promise1 new Promise function resolve reject setTimeout gt console warn Elo resolve First response 1000 promi
  • 我可以通过主机名从 Kubernetes 中另一个节点上运行的另一个容器访问该容器吗?

    我相信我的问题很简单 我正在执行在裸机上安装 Kubernetes 集群的先决条件 假设我有 master Docker DB 容器的主机名固定在第一个节点上 slave Docker DB 容器的主机名固定在第二个节点上 我可以与mast
  • CArrayDataProvider 与 CGridView 分页 Yii

    我正在尝试对 a 进行分页CGridView using CArrayDataProvider my rawData是一个自定义数组 不是来自数据库 模型 因此 在控制器的操作中有以下内容 form new SearchUser here
  • EF Code First 中的计算列

    我需要在数据库中有一列由数据库计算为 行总和 行总和b 我正在使用代码优先模型来创建数据库 我的意思是 public class Income Key public int UserID get set public double inSu
  • 将非对称算法私钥和公钥与 RSA C# 一起使用

    我有两个包含 RSA 私钥和 RSA 公钥的 AsymmetryAlgorithm 对象 私钥是从 Windows MY 密钥库中检索的 公钥是从用户的证书中检索的 如何在 C 中将这些密钥与 RSACryptoServiceProvide
  • 画布内元素中的事件

    我在画布标签内绘制了图像 我如何向其中添加事件 我想在用户单击该图像时执行某些操作 character addEventListener click function alert foo true character is a var im
  • Android 日历提供程序 API 级别

    我们正在开发一个 Android 日历应用程序 问题是我们想要获取其他日历的事件并将我们的事件也分享给他们 据我所知 这是由内容提供商实现的 问题是日历内容提供程序所需的API级别是API 14 我们需要在API 7 Android 2 1
  • CGImageRef 宽度与每行字节数不一致

    我正在尝试从屏幕缓冲区中读取像素 我正在创建一个CGImageRef with CGDisplayCreateImage 但值CGImageGetWidth and CGImageGetBytesPerRow在一起没有意义 将每行字节数除以
  • 如何在sql server中将数字写入word函数[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 如何在 SQL Server 中编写一个函数来以文字形式输出数字 input 1输出 1个 输入 129输出 一百二十九 考虑使用辅助数字表 注意 这个 MS SQL 创建一个序
  • Firebase:setPersistenceEnabled 和 keepSynced 之间有什么区别?

    我一直认为 当我使用以下内容时 所有聊天对话数据都可以随时离线使用 但不知何故不是 所有节点都是从服务器加载的 FirebaseDatabase getInstance setPersistenceEnabled true 然后 根据 DO
  • Swift 广播流媒体 AVPlayer

    我想在 Swift 中从互联网传输音频 但还没有找到正确的功能示例 In Objective C AVPlayerItem playerItem AVPlayerItem playerItemWithURL NSURL URLWithStr