问题标签 [avplayerlooper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 在 iOS 上循环播放一段音频
我想知道在 iOS 上在定义的持续时间内循环音频的最佳解决方案是什么。我目前正在玩
AVAudioPlayer
(我可以定义重复计数但不能定义结束时间)AVPlayer
(我可以定义一个forwardPlaybackEndTime
机器人而不是循环计数)AVPlayerLooper
(我还没有完全理解)
所以我需要定义重复某个声音文件的持续时间。Fe 我有一个 8 秒的 mp3,想播放 fe 一分钟。
如果我可以在重新开始时交叉淡入淡出,那也很棒。
ios - AVPlayerLooper,带有 AVMutableAudioMixInputParameters 的 AVComposition :循环之间的音量不稳定
我使用 AVPlayerLooper 在 AVPlayer 内循环播放视频。视频实际上是一个 AVComposition 合并了两个音频轨道和一个视频轨道。
我在组合上应用了两个 audiomix 输入参数,一个用于每个音轨来管理它们各自的音量(使用 setVolume() 方法)。另请注意,其中一个音轨还有一个抽头处理器来应用一些音频过滤器,使用 audiomix 输入参数中的专用属性。
一切似乎都很好,但我注意到音量有问题:
第一个循环很好,可以渲染预期的音量,但下一个循环的音量似乎是随机的,一个循环处于预期的音量(比如说 setVolume() 中的 4.0),另一个循环是默认的(1.0)。
请注意,如果我在音量低于预期的循环中播放时将 AVPlayer 静音和取消静音,则音量会恢复到其配置和预期的值。
请注意,使用 AVAssetExportSession 在文件中导出相同的组合(因此从任何循环器中导出)效果很好,音量始终符合预期。
你有什么提示可以帮助我解决这个问题吗?
ios - AVPlayerLoop 没有无缝循环 - Swift 4
我的问题是:我正在尝试进行无缝循环(我打算让我的 AVPlayer 或 AVPlayerQueue,循环播放之间没有任何延迟)。因此,例如,如果我制作一个视频并进行播放,它应该无限循环,中间没有任何光点或循环延迟。
我已经编写了下面的代码(它也直接来自示例代码):
上面的代码没有无缝循环;它在当前播放器的结尾和下一个播放器之间有光点。我已经尝试了很多找到问题并在网上搜索并没有找到解决方案。此外,我一直在尝试 NSNotifications 和其他方法,包括在播放器完成播放时设置 Player.seek(to: zero)。但根本没有任何效果。
任何帮助,将不胜感激 :)
swift - 如何在 Swift 4 中设置视频的偏移量?Seek(to:) 似乎不起作用
我在设置 AVQueuePlayer 视频的偏移量时遇到问题。我已经尝试过 seek( 来设置视频的偏移量,但它似乎不起作用。视频总是从 0 秒开始。其他要求是通过控制播放它并循环播放,这些都可以正常工作。
我很喜欢从 0 秒以外的任何其他时间播放视频。
ios - 使用 AVPlayerLooper 时“因内存问题而终止”
AVPlayerLooper
使用无限期循环播放视频时,我的应用程序因“因内存问题而终止”而崩溃。该问题仅发生在较旧的设备上(在 iPhone 6S 和更新版本上不会发生)并且循环非常短(小于 1 秒)。
我已经尝试使用 AVPlayer 并观察AVPlayerItemDidPlayToEndTime
然后寻求手动开始,但这个解决方案会导致每个循环之间出现短暂的中断/打嗝,这会导致我的特定需求出现时间问题。在呼叫之前暂停seek(to: CMTime.zero)
并不能解决问题。
这是我的 Looper 课程:
ios - AVFoundation 如何循环播放一段特定时间的音频?
我想在给定的持续时间内循环播放特定的音频。
例如;
10 秒。音频文件。预期循环持续时间:7 分钟。
在这个循环中,我必须观察循环迭代总数的剩余时间。
我尝试了AVQueuePlayer
and AVAudioLooper
,但没有优雅的选项来跟踪循环迭代的总持续时间/时间。
我对新想法持开放态度。
javascript - Expo av-player 无缝无缝循环交叉淡入淡出
根据我的经验和研究,Android 和 iOS 的开箱即用 AV 播放器不完全支持无缝/无缝循环。在其中任何一个上设置 isLooping=true 时,总会有一个明显的差距。我只能使用 SoundPool 让它在 Android 上无缝工作,但这仅适用于小型声音文件,而不适用于大型 mp3。
目前,我为 iOS 编写了一个“半有效”的解决方案,但奇怪的是它不适用于 Android。我猜他们至少应该是一致的?
另外,我很感兴趣是否有人可以帮助解决这个古老的问题,即以最有效的方式循环声音,而用户不会注意到间隙。这个交叉推子的想法是开箱即用的,也许有人可以帮助改进它。我还在世博论坛上开了一个讨论,如果有什么来自那里,我会在这里更新。
这是回购:https ://github.com/happyruss/expo-fader-loop
任何关于解决问题的建议都会很棒。对于尝试 react-native/expo 的人来说,这也是一个有趣的简单项目
ios - 如何将 AVPlayerLooper 与 AVPlayerItemVideoOutput 一起使用?
AVPlayerLooper
接受一个模板AVPlayerItem
和一个AVQueuePlayer
作为设置参数,然后它在内部操作队列的项目,并且播放器不断地改变它的currentItem
.
这与 完美配合AVPlayerLayer
,它接受这个循环播放器作为参数并只渲染它,但是我如何使用它AVPlayerItemVideoOutput
,它被附加到AVPlayerItem
播放器内部有多个播放器?我如何在AVPlayerLayer
内部重现相同的事情?
AVPlayerLooper
来自文档的设置示例
这是AVPlayerItemVideoOutput
应该如何使用
我想出的唯一解决方法是观察currentItem
每次从旧项目中分离视频输出并将其附加到新项目的变化,如下例所示,但这显然抵消了我试图实现的无缝播放.
有关更多上下文,我正在尝试解决颤振的 video_player 插件https://github.com/flutter/flutter/issues/72878
swiftui - 当警报或确认对话框显示时,SwiftUI AVPlayer 消失
我有一个 AVPlayer 包装器可以在 SwiftUI 中循环播放视频。但是,在我激活警报或确认对话框后,播放器将播放一次视频然后消失。请参阅https://youtube.com/shorts/pvMbMSbICgI?feature=share上的屏幕录像。任何人都知道如何解决这个问题?
问题出现在 ios 15.2 上。