使用本机反应播放 .Flac 或 .Alac 文件,甚至可以在 iPhone 上使用吗?
Posted
技术标签:
【中文标题】使用本机反应播放 .Flac 或 .Alac 文件,甚至可以在 iPhone 上使用吗?【英文标题】:Playing .Flac or .Alac files using react native, is it even possible on iphone? 【发布时间】:2021-12-24 08:57:54 【问题描述】:我正在为音频播放创建一个 react 本机应用程序,并且更喜欢使用 .flac 或 .alac 文件。 该应用在使用 .wav 文件时运行良好,但导入 .flac 文件会导致崩溃。
所以我收到了这个错误:
ios 捆绑失败 3555 毫秒 无法从 C:\Users\samir\Source\OctaCoil\apps\context\AudioProvider.js 解析模块 ../../assets/Pain-Inflammation.flac:
这些文件都不存在:assets\Pain-Inflammation.flac(.native|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.js |.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json) assets\Pain-Inflammation.flac\index(.native|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx|.ios.js|.native.js|. js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json) 16 |编号:1, 17 |标题:'充满活力',
18 | url: 要求('../../assets/Pain-Inflammation.flac'), | ^ 19 |持续时间:30.00, 20 |类型:'心脏'
这是我认为相关的代码的一部分。
import * as MediaLibrary from 'expo-media-library';
import DataProvider from 'recyclerlistview';
import AsyncStorage from '@react-native-async-storage/async-storage';
import Audio from 'expo-av';
import storeAudioForNextOpening from '../misc/helper';
import playNext from '../misc/audioController';
export const AudioContext = createContext();
export class AudioProvider extends Component
audioItems = [
id: 1,
title: 'Energize',
url: require('../../assets/Pain-Inflammation.flac'),
duration: 30.00,
type: 'heart'
,
有什么想法吗?
【问题讨论】:
【参考方案1】:您正在尝试require
Flac 文件,这将不起作用,因为解释器正在尝试将其读取为 ts/js 源文件(它不是)。删除require
并提供资产文件的正确路径,它至少会停止抛出该错误:
// ...
export class AudioProvider extends Component
audioItems = [
id: 1,
title: 'Energize',
url: '../../assets/Pain-Inflammation.flac',
duration: 30.00,
type: 'heart'
,
// ...
也就是说,Flac 播放应该在 iOS 11+ 上工作,但这取决于 expo-av
提供的实现。如果它在 iOS 上使用 AudioToolbox
和/或 AVFoundation
,它应该可以工作。
【讨论】:
感谢@bensnider 的回答。删除“必需”确实停止抛出错误,但文件仍未播放。你提到应该工作吗?支持查看世博会文档 .flac(或 alac)。这里的想法用完了,有什么意见吗? @SamirHassen 如果您转码为其他格式,它会播放吗?如果是这样,那是 flac 的编解码器问题,如果不是,那么我会确保文件的路径是正确的,并且它被适当地捆绑到应用程序中。以上是关于使用本机反应播放 .Flac 或 .Alac 文件,甚至可以在 iPhone 上使用吗?的主要内容,如果未能解决你的问题,请参考以下文章