问题标签 [expo-av]

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.

0 投票
1 回答
81 浏览

react-native - 导入音频文件和 expo-av getURI() 的区别

我正在尝试使用这个 repo中的一个非常简单的 expo 音频播放器,该 播放器可以很好地处理导入为的音频文件

import AudioFile from '../assets/test.m4a';

AudioFile 的 console.log 返回一个数字

但是当我尝试使用从录音机收到的文件 uri 时,我得到了文件的 uri,如下所示,播放器无法工作

有人可以帮我理解其中的区别吗?

0 投票
1 回答
464 浏览

typescript - 尝试访问 AVPlaybackStatus 的错误属性时出错

我是 TypeScript 的新手,正在尝试使用expo-av进行音频播放。

以下代码给了我一个错误:TS2339: Property 'error' does not exist on type 'AVPlaybackStatus'.

我查看了定义,status发现:

我以前从未见过这种构造,但我猜这是联合或交集类型(?)。

如何访问status.error?与此类类型一起使用的典型习语/构造是什么?

0 投票
1 回答
139 浏览

react-native - 从 React Native Expo AV 中保存的 Uri 不起作用?

我创建了一组包含音频数据的字典。用户必须录制这些音频,然后他们才能收听。问题是这些音频是用一个平面列表表示的,当我在它们之间传递时,它找不到 uri。例如:

我得到的问题是,当我按 arrowRight() 或 arrowLeft() 并且我们要去的索引已经有记录时,它不能识别 uri。有人可以帮我吗

0 投票
1 回答
516 浏览

react-native - 带有视频流的 Flatlist、React Native、Expo 在 Android 上遇到内存问题

带有平面列表和每行一个视频的 Expo 应用程序。(参见 TikTok)

  • 世博 SDK 40.0.0
  • Flatlist - 优化 (shouldComponentUpdate) + 查看道具,最多同时渲染 2 行。没有在视野中的线被干净地卸载。只有视野中的视频运行,第二个暂停。
  • 世博-AV
  • Google-Firebase Cloudstorage:视频也由应用生成和上传。

问题:最迟在渲染第 4 个视频后,应用程序在 Android 上遇到内存问题。从一开始就在 IOS 设备上没有问题。错误消息/警告:VirtualizedList:您有一个更新缓慢的大列表....之后,视频很长一段时间都没有加载,只有几分钟后两个要渲染的视频才会再次出现.

组件结构:

  • VideoStream - React.Component => 所有可用并存储在 Redux 存储中的数据。

  • Flatlist => 仅通过了 7 条记录,请参阅 flatlist 道具

  • 项目 => 通过渲染项目

  • VideoItem - React.Component> => 包括。手势手柄,背景

  • 可触摸不透明度>

  • 视频 => 世博会-AV

测试:

  • Stream 和 loadAsync => 相同的行为。
  • 替代公共数据源 => 相同的行为
  • 没有要加载的视频 => 没问题

假设:

  • Android - 和 Expo-AV:自 2018 年左右以来,在没有问题的 IOS 上经常发现堆栈,不幸的是,基于 Expo 播放器和 Android 之间的连接,到目前为止还没有解决方案
  • 上传 - 哪些错误/优化是可能的
  • 下载 - 哪些错误/优化是可能的?

经过 10 天的优化和寻找原因,现在我寻求帮助.... 非常感谢。

0 投票
0 回答
101 浏览

node.js - 反应原生 Expo-AV 循环声音特定秒

我正在构建一个应用程序,当用户进入特定页面一定时间时,它需要播放背景音乐。我将 expo-av 用于声音并在 createAsync as 时循环声音并在 useEffect{islooping:true}传递playSound函数

我的问题是,有什么方法可以将循环设置为一定的秒数?就像在循环之后将关闭并且声音将在几秒钟后停止。

通过世博会文档,找不到任何有用的东西。请帮忙。

0 投票
0 回答
88 浏览

android - 面向玩家的 Expo React 粘性通知

我想为我的 android 音频播放器添加粘性通知并通过应用通知处理播放器,但我不知道该怎么做我尝试了 expo 官方通知文件但失败了,请在这种情况下帮助我。

0 投票
0 回答
71 浏览

javascript - React Native Expo 音频会导致应用程序在默认示例中冻结?

好的,我正在逐字复制https://docs.expo.io/versions/latest/sdk/audio/只是试图让 2 个不同的声音片段在不同的按钮按下时播放 - 一个胜利的声音和一个轻击的声音。所以我想expo-av用默认的音频示例来实现:

除了在多个声音片段之间切换的逻辑之外,这种基本设置(playSound(0)例如,调用按钮按下功能)会导致我的应用程序在加载时冻结/缓慢移动。没有播放任何声音片段,也没有错误。

这里发生了什么?如何使用 React Native Expo 播放 2 个声音片段?

0 投票
1 回答
115 浏览

react-native - Expo显示剩余音频秒数

我想显示音频还剩多少秒。像这样:

在此处输入图像描述

我知道我需要使用positionMillisdurationMillis道具,但是如何监控positionMillis

当我单击一个按钮时,我会加载音频并播放它(handleAudio功能)。这是我只会得到positionMillis一次(或者如果我暂停/恢复音频)。如何连续观看positionMillis音频的道具?

0 投票
2 回答
978 浏览

react-native - 在 react-native 中自动播放元素焦点上的视频

如果一个视频获得焦点,则必须播放视频,如果视频没有焦点,则应该暂停。我正在使用 expo-av 播放视频。上面的代码正在播放屏幕上的所有视频,但我想播放像 youtube 一样聚焦的视频。

0 投票
0 回答
549 浏览

react-native - Expo-Av 一次播放多个声音

我试图让多个声音文件在 Expo-AV 上播放,但是当一个声音播放时,另一个停止。我一次只能播放一种声音。

我试过的

我尝试了一个类方法来每次创建一个不同的实例,但它不起作用。所以我恢复到功能组件并同时调用playSound()播放但它不起作用

这是我的代码: