我正在尝试从自己的存储库运行 just_audio 示例项目https://github.com/ryanheise/just_audio/tree/master/just_audio/example
它在 Android 上工作正常,但是当我使用 Mac 克隆项目并在模拟器上运行它时,它会抛出此错误:
[VERBOSE-2:ui_dart_state.cc(199)] Unhandled Exception: (-11800) The operation could not be completed
#0 AudioPlayer._load (package:just_audio/just_audio.dart:778:9)
<asynchronous suspension>
#1 AudioPlayer._setPlatformActive.<anonymous closure> (package:just_audio/just_audio.dart:1346:28)
<asynchronous suspension>
Run Code Online (Sandbox Code Playgroud)
当我尝试使用 setUrl() 方法调用音频 URL 进行流式传输时,会弹出此错误
我还尝试按照文档的建议编辑传输安全性
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsForMedia</key>
<true/>
</dict>
Run Code Online (Sandbox Code Playgroud)
笔记
我已经尝试了所有其他可用于 ios 的用于播放和流式传输音频的软件包,但它们都不起作用
我希望在 Flutter 中播放来自 webrtc 连接的远程流的音频。flutter webrtc 的示例使用RTCVideoRenderer
,但我的例子中没有视频。远程流仅包含音频。
简而言之:
pc.onTrack = (event) {
// how can I play the Audio stream in event.streams[0] ?
};
Run Code Online (Sandbox Code Playgroud)
代码:
MediaStream _localStream = await createStream();
RTCPeerConnection pc = await createPeerConnection({});
_localStream.getTracks().forEach((track) async => await pc.addTrack(track, _localStream));
pc.onTrack = (event) {
// how can I play the Audio stream in event.streams[0] ?
};
Future<MediaStream> createStream() async {
final Map<String, dynamic> mediaConstraints = {
'audio': true,
'video': false
};
MediaStream stream = await MediaDevices.getUserMedia(mediaConstraints);
return …
Run Code Online (Sandbox Code Playgroud) 我正在制作一个项目,其中当用户单击按钮时,计时器将启动,在用户设置时间后,将播放我 just_audio: ^0.6.15+1
在我的 flutter 项目中使用的声音,但它会导致下面的许多问题都是错误的。
D/Linux (21303): [Posix_connect Debug]Process com.snss.xlnc :443 \nE/flutter (21303): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: Connection aborted\nE/flutter (21303): #0 AudioPlayer._load (package:just_audio/just_audio.dart:688:11)\nE/flutter (21303): <asynchronous suspension>\nE/flutter (21303): #1 AudioPlayer.load (package:just_audio/just_audio.dart:625:14)\nE/flutter (21303): <asynchronous suspension>\nE/flutter (21303): #2 AudioPlayer.setAudioSource (package:just_audio/just_audio.dart:602:18)\nE/flutter (21303): <asynchronous suspension>\nE/flutter (21303): #3 _ClassStartState.keepRunning (package:xlnc/tutor/startClass.dart:84:7)\nE/flutter (21303): <asynchronous suspension>\nE/flutter (21303): \n
Run Code Online (Sandbox Code Playgroud)\n这是我的代码
\nvar t = DateFormat.Hms().parse(time);\nvar rT = DateFormat.Hms().parse(remTime);\nvar co = t.isAfter(rT);\n\nif (co) {\n player.setUrl('$soundUrl');\n player.setVolume(1);\n player.play();\n player.setLoopMode(LoopMode.one);\n}\n
Run Code Online (Sandbox Code Playgroud)\n这是我的颤振医生-v
\n[\xe2\x88\x9a] Flutter (Channel stable, 2.0.1, on Microsoft Windows …
Run Code Online (Sandbox Code Playgroud) 我正在使用 just_audio 插件,它有一个功能描述:从字节流读取。
基本上,当我放置一个文件(来自 url)来播放时,我会保存文件中的字节,因此在这一步之后我想在本地播放它。
我有一个关于如何从字节流播放的问题。谁能提供一个例子如何做到这一点?我需要将其放在我的播放列表中,因此它必须是 ConcatanatingAudioSource 的子项。
我发现的唯一音频源是使用来自 Uri 的音频源。
final _playlist = ConcatenatingAudioSource(
children: [
AudioSource.uri(
Uri.parse(
"https://s3.amazonaws.com/scifri-episodes/scifri20181123-episode.mp3"),
tag: AudioMetadata(
album: "Science Friday",
title: "ddddd",
artwork:
"https://media.wnyc.org/i/1400/1400/l/80/1/ScienceFriday_WNYCStudios_1400.jpg",
),
)
]
)
Run Code Online (Sandbox Code Playgroud)
这就是我保存字节的方式:
void getBytes() async {
Uri uri = Uri.parse(url);
var rng = new Random();
// get temporary directory of device.
Directory tempDir = await getTemporaryDirectory();
// get temporary path from temporary directory.
String tempPath = tempDir.path;
// create a new file in temporary path with random file …
Run Code Online (Sandbox Code Playgroud) 我正在使用 flutter 构建一个桌面应用程序,我需要从本地存储播放音频文件,为此我使用just_audio flutter 包,因为它支持 Windows。但我找不到任何适用于 Windows 的示例。我已经编码了这样的东西 -
import 'package:just_audio/just_audio.dart';
...
void main() => runApp(MyApp());
class MyApp extends StatefulWidget {
@override
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
final _player = AudioPlayer();
@override
void initState() {
super.initState();
...
_init();
}
Future<void> _init() async {
await _Player.setFilePath('C:/Users/Admin/Downloads/test.wav', preload: true);
}
...
Run Code Online (Sandbox Code Playgroud)
等待调用永远不会完成,我收到以下错误:
[ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: MissingPluginException(No implementation found for method init on channel com.ryanheise.just_audio.methods)
#0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:165:7)
<asynchronous suspension>
#1 MethodChannelJustAudio.init (package:just_audio_platform_interface/method_channel_just_audio.dart:13:5)
<asynchronous suspension> …
Run Code Online (Sandbox Code Playgroud) 你好,我正在使用 just_audio 来播放 mp3,据我所知,从 url 播放音频,我们可以使用这样的东西:
UriAudioSource _createAudioSource(MediaItem mediaItem) {
return AudioSource.uri(
Uri.parse(mediaItem.extras!['url']),
tag: mediaItem,
);
}
Run Code Online (Sandbox Code Playgroud)
我想知道有没有办法从本地资源玩它?
哪些音频格式(扩展)可以通过 just_audio Flutter 包在 ios 和 Android 上使用?想知道我应该允许用户使用 file_picker 上传哪些扩展,以便他们可以使用 just_audio 包(我在任何地方都找不到列表)。澄清一下,文件将存储在 Firebase 上,因此通过 url 播放。
我尝试通读 Github 上的项目自述文件和问题,看看是否有可能使用Flutterjust_audio
和audio_service
插件同时播放两个或多个音频文件。有没有人使用这些插件或类似的插件实现过类似的东西?我目前在生产中使用这些插件,因此最好坚持使用它们为应用程序添加所需的功能。
任何帮助将不胜感激,谢谢!
我正在尝试构建一个针对 macOS 的 Flutter 应用程序。添加一些依赖项(例如 just_audio)后,我会收到有关MACOSX_DEPLOYMENT_TARGET
在各个位置设置为各种值(需要更改为其他值)的警告。
因此,我打开 Xcode 并按照说明仔细设置值。之后,应用程序成功编译,没有警告,并按预期执行一次、两次,甚至三次,但不可避免地会返回警告。当我返回 Xcode 时,我发现所有值都恢复到之前的状态。我尝试了不同的目标版本,从 10.15 到 13.1(当前安装),但警告最终总是会出现。
\n我是否错过了重要的一步?我对软件开发并不陌生,但对 macOS 和 Xcode 完全陌生。
\n以下是不断出现的错误的示例:
\nLaunching lib/main.dart on macOS in debug mode...\n--- xcodebuild: WARNING: Using the first of multiple matching destinations:\n{ platform:macOS, arch:arm64, id:00006000-000210D03EB8401E }\n{ platform:macOS, arch:x86_64, id:00006000-000210D03EB8401E }\n/Users/foo/projects/just_audio_background_test/macos/Pods/Pods.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.6, but the range of supported deployment target versions is 10.13 to 13.1.99. (in target 'FMDB' from project 'Pods')\n/Users/foo/projects/just_audio_background_test/macos/Pods/Pods.xcodeproj: warning: The …
Run Code Online (Sandbox Code Playgroud) 我正在使用 flutter audio_service ( https://pub.dev/packages/audio_service ) 和 just_audio ( https://pub.dev/packages/just_audio ) 在前台和后台播放音频文件。
我对BackgroundAudioTask进行了子类化,添加了 AudioPlayer 的实例,并重写了所需的方法。例如我更新了重复模式:
@override
Future<void> onSetRepeatMode(AudioServiceRepeatMode repeatMode) async {
super.onSetRepeatMode(repeatMode);
switch (repeatMode)
{
case AudioServiceRepeatMode.all:
_audioPlayer.setLoopMode(LoopMode.all);
break;
case AudioServiceRepeatMode.none:
_audioPlayer.setLoopMode(LoopMode.off);
break;
case AudioServiceRepeatMode.one:
_audioPlayer.setLoopMode(LoopMode.one);
break;
case AudioServiceRepeatMode.group:
_audioPlayer.setLoopMode(LoopMode.all);
break;
}
}
@override
Future<void> onPlayFromMediaId(String mediaId) async {
await _audioPlayer.stop();
// Get queue index by mediaId.
_queueIndex = _queue.indexWhere((test) => test.id == mediaId);
// Set url source to _audioPlayer.
downloadAndPlay(_mediaItem);
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试添加播放列表并循环播放音频文件,但似乎缺少某些内容,并且在播放第 1 首曲目后,播放器会尝试从相同的第 1 首曲目开始并再次播放。这是我的代码(downloadAndPlay …
flutter ×10
just-audio ×10
audio ×3
dart ×3
android ×1
audio-source ×1
byte ×1
bytestream ×1
file ×1
flutter2.0 ×1
ios ×1
macos ×1
mp3 ×1
queue ×1
webrtc ×1
xcode ×1