- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在尝试在 React 中设置音频标签的 src
属性,但该轨道从未播放。
playTrack(track) {
const stream = new MediaStream()
stream.addTrack(track)
this.setState(() => ({ stream }))
}
render() {
return (
<audio src={this.state.stream || null} controls volume="true" autoPlay />
)
}
当我检查 Chrome 调试器时,它显示音频标记已将 [MediaStream]
设置为其源,但没有播放任何内容,并且所有控件仍呈灰色。
这样做而不是设置状态是可行的,但我认为这在 React 中是非常不受欢迎的。
const audio = document.querySelector('audio')
audio.srcObject = stream
最佳答案
如果不需要将流存储在状态中,那么您可以使用 ref
更新 srcObject
属性:
playTrack(track) {
const stream = new MediaStream()
stream.addTrack(track)
this.audio.srcObject = stream;
}
render() {
return (
<audio ref={audio => {this.audio = audio}} controls volume="true" autoPlay />
)
}
如果您确实需要从状态访问流,您可以尝试此操作
<audio ref={audio => { audio.srcObject = this.state.stream }} />
src={this.state.stream}
不起作用的原因是 src
需要一个表示音频资源 url 的字符串,而 this.state.stream
是一个 MediaStream
对象。
audio.src
和 audio.srcObject
是不同的属性,需要不同的值类型。
关于reactjs - 如何使用 React 在音频元素上设置 srcObject,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48603402/
我一直在尝试在 React 中设置音频标签的 src 属性,但该轨道从未播放。 playTrack(track) { const stream = new MediaStream()
我有一个基本的 React 组件,我正在尝试访问 navigator.mediaDevices.getUserMedia 中的视频。但是,我不断收到“无法设置 null 的属性‘srcObject’”
设置:我有一个使用 WebRTC(基于 GStreamer)流式传输一个视频流的 C++ 程序。在客户端,Chrome(最初使用 Firefox,但后来我发现 webrtc-internals 可以很
设置 html 视频元素的“src”属性不适用于 Vue.js 和 Vuex: myStreamSrc 是一个计算值,由事件处理程序在突变中设置: AddStream: function (stat
考虑以下应用程序(代码简化) JS 我正在设置 document.getElementById("my-vid").objectSrc = stream 媒体流(在向用户询问常用的用户媒体等之后
我收到一条警告,指出某个功能将在 Chrome future 版本中弃用。 就是这个脚本: navigator.getUserMedia = navigator.getUserMedia || nav
我正在尝试做一个小项目,我需要获得网络摄像头流。我读过很多文章并关注了它们,但它们都出现了相同的错误。 无法设置 null TypeError 的属性“srcObject” function Jame
我正在尝试使用 Web Audio API 从远程对等点 (WebRTC) 播放 MediaStream。当我使用 audio.srcObject = stream 将流附加到 audio 元素时,它
我正在尝试让 verto 在 Chrome 57.0.2987.133(64 位)中运行。 关注https://dopensource.com/2017/01/21/setting-up-freesw
我在使用 WKWebView(从 iOS 14.3 开始)中可用的 getUserMedia api 时遇到了一些问题。 在 webview 的页面上,我将使用以下代码访问相机: navigator.
我正在尝试使 blob 成为视频元素的 src。我的代码在以下情况下运行良好: videoRef.src = URL.createObjectURL(blob) 但不推荐使用“src”和“URL.cr
我是一名优秀的程序员,十分优秀!