问题标签 [mediastreamsource]
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.
c# - 优雅地停止媒体流源
我已经实现了媒体流源类。当我点击一些时,我想停止相机馈送。关闭媒体元素和媒体流源的正确方法是什么。这样我的应用程序就不会崩溃。
这是我的简单代码Mainpage.xaml.cs
,CamerastreamSource
源自MediaStreamSource
MainPage.xaml.cs 文件代码。
CameraStreamSource : MediaStreamSource
代码
任何预兆都可以帮助我,我如何在一些类似按钮上优雅地点击关闭它。我实际上需要代码来MediaElement
优雅MediaStreamSource
地关闭
streaming - 当 MediaStreamSource 有足够的样本时,MediaElement 正在缓冲(Windows 8.1 商店应用程序)
我有一个 Windows 8.1 应用程序(不是 Silverlight 或 WPF),它播放自定义音频/视频流(ASF 格式的 aac/h264 文件)。
我解析流并将样本提供给 MediaStreamSource for MediaElement(在 MSS SampleRequested 事件中)。流播放正常几秒钟,然后暂停(MediaElement 状态从播放变为缓冲)然后再次播放并再次停止等。我验证 MediaStreamSource 有足够的样本提供给 MediaElement(我永远不必使用延迟)。
网络条件非常理想(我在运行应用程序的同一台 PC 上通过 ISS 流式传输媒体文件)。如果我只播放文件的音频或视频部分,它可以正常工作,没有停顿。增加 MSS 缓冲时间可以减少问题。我将不胜感激有关如何解决此问题的任何建议。
javascript - 在 Android Chrome 上使用 MediaStreamAudioSourceNode 获取用户媒体
我正在尝试在 Android 上的 Chrome 上使用带有 getUserMedia 的媒体流。为了测试,我编写了下面的脚本,它只是将输入流连接到输出。此代码在 Windows 下的 Chrome 上按预期工作,但在 Android 上我什么也没听到。系统会提示用户允许使用麦克风,但扬声器、听筒扬声器或耳机插孔没有声音。
此外,上下滚动音量时的反馈蜂鸣声不会响起,就像 Chrome 正在向系统播放音频一样。
Chrome for Android 是否确实不支持此功能?以下问题的思路相似,但都没有明确的答案或解释。
由于我是使用 getUserMedia 的新手,因此我想确保我在代码中所做的任何事情都不会破坏兼容性。
我还应该注意,这个问题似乎不适用于 getUserMedia 本身。可以在标签中使用 getUserMedia <audio>
,如下代码所示(使用 jQuery):
silverlight - Silverlight MediaElement 内部缓冲
我正在使用 Silverlight 应用程序,我在其中使用 MediaElement 和自定义 MediaStreamSource 来播放 h.264 帧。我注意到 MediaElement 似乎有自己的内部缓冲区。返回到 GetSampleAsync 的帧在返回后一两秒播放。这对我的应用程序来说是有问题的,如果立即播放该帧会更好。这是否有可能,或者这只是 Silverlight 中视频播放的一个不幸的缺点?
javascript - 如何从 MP4File 转换 MediaStream
我在 webRTC 中使用 peer.js 制作 VideoStream。但 Mediacall 无法发送该 File object.only MediaStream。请询问如何将 MediaStream 转换为 MP4File。
javascript - 如何从视频文件创建 MediaStream?
大多数 Mediastream 示例都是由 webCam-stream 解释的。但我需要从本地视频文件(.webm 或 mp4)创建 MediaStream。请告诉我。
camera - TideSDK:可以使用 mediaStream 和 webrtc 吗?
我想知道 TideSDK 是否可以使用相机、麦克风和所有 webrtc 东西。
我尝试了一个简单的例子,但它不起作用;我想知道这只是启用它还是根本不支持它。
先感谢您
c# - 具有多个音频流的 Windows Phone 8 MediaStreamSource
我有 MediaStreamSource 实现,它可以打开具有多个音频流的文件。在 OpenMediaAsync 方法中,我为所有视频和音频流提供 MediaStreamDescription,但 MediaElement 仅检测到 1 个音频流。我还测试了下一个有效的逻辑:
检测到 2 个流
仅向 ReportOpenMediaCompleted 报告音频流的第一个或第二个 MediaStreamDescription
但是我当然想向 ReportOpenMediaCompleted 报告第一个和第二个音频流,结果是 MediaElement 有 2 个音频流。我还在 MediaStreamSource 类中发现了 StreamId 字段,但它没有设置访问器,并且当使用 ReportOpenMediaCompleted 报告流时,所有 MediaStreamDescription 的 StreamId == 0。
OpenMediaAsync 代码:
callback - GetUserMedia 回调未定义
我是 JavaScript 新手,我正在尝试使用 getUserMedia API 制作在线录音机。我遇到的问题是,每当我尝试调用 navigator.getUserMedia 时,我都会收到一个错误,即成功回调函数未定义,因此不是函数。当我在回调后添加括号时它可以工作,但是当我调用 createMediaStreamSource 时,我收到有关无效 MediaStream 源的错误。
我找到了一些在线使用 getUserMedia 的示例,但是当我尝试从我的计算机运行它们时遇到了同样的问题,即使它们显然可以在线工作。
下面是我的代码。谢谢!
c# - BackgroundAudioPlayer 没有开始播放
Windows Phone 8 应用程序。我们正在使用AudioStreamingAgent / Mp3MediaStreamSource播放 MP3 文件,这些文件可以在本地缓存或从 Web 加载。
下载文件时,我们仍在使用 AudioStreamingAgent /Mp3MediaStreamSource 以确保我们能够在播放当前文件时预缓存下一个文件。是的,我们可以只使用 WP8 内置播放器来缓存文件,但在这种情况下我们将无法预缓存下一个文件。
问题:几首曲目后,BackgroundAudioPlayer 不再开始播放。
- AudioStreamingAgent.OnBeginStreaming 被执行
- 执行创建 MediaStreamSource 的代码
- AudioStreamer.SetSource方法使用新的 MediaStreamSource 实例执行
- PlayStateChanged 在后台进程中使用 PlayState.TrackReady 触发,并且在这种情况下调用 player.Play()。
毕竟,我看到轨道显示在 UVC 中,但它处于“暂停”状态。在 UVC 中按下“播放”会在调用 player.Play() 的后台调用 OnUserAction。没有什么变化。
问题重现示例,VS 2012(示例基于Background Audio Streamer Sample)
使用示例代码重现的步骤:
- 安装软件
- 按下“预加载曲目”按钮。它将 mp3 文件从 XAP 复制到 IsolatedStorage。
- 按“轨道 1”按钮。曲目开始播放后,按“曲目 2”按钮。然后,在曲目 2 开始播放后,按“曲目 3”按钮。
- 继续执行第 3 步,直到按下“Track *”按钮后曲目没有开始播放。
- 最后选择的曲目将在 UVC 和页面进度条上方显示为活动曲目(见图)
- 在大多数情况下按下其他轨道按钮没有任何区别。
该问题在 WP8 和 WP8.1 开发人员预览版上都在设备和模拟器上重现。
更新:内存不足的情况并非如此。使用示例代码重现问题并查看 backgroundlog.xml 文件显示,示例仅使用了 20 Mb 中允许的 6 Mb这张图片的最后一列是“内存使用量|最大允许内存使用量”