Flutter:如何流式传输由不带 mp3 扩展名的 http url 提供的实时音频

2024-01-12

如何使用 flutter 流式传输由不带 mp3 扩展名的 http url 提供的实时音频? 它不是远程文件, 但是像网络广播这样的流媒体网址


您可以使用包https://pub.dev/packages/url_audio_stream https://pub.dev/packages/url_audio_stream
github https://github.com/tcronis/url_audio_stream https://github.com/tcronis/url_audio_stream

代码片段

AudioStream stream = new AudioStream("https://your_url_goes_here.com");
stream.start();
stream.pause();
stream.resume();
stream.stop();

完整示例代码

import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:url_audio_stream/url_audio_stream.dart';

void main() => runApp(MyApp());

class MyApp extends StatefulWidget {
  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  String _platformVersion = 'Unknown';

  @override
  void initState() {
    super.initState();
  }


  static AudioStream stream = new AudioStream("your url");
  Future<void> callAudio(String action) async{
    if(action == "start"){
      stream.start();
    }else if(action == "stop"){
      stream.stop();
    }else if(action == "pause"){
      stream.pause();
    }else{
      stream.resume();
    }
  }


  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Plugin example app'),
        ),
        body: Center(
          child: Column(
            children: <Widget>[
              new RaisedButton(
                child: new Text("Start"),
                onPressed: (){
                  callAudio("start");
                },
              ),
              new RaisedButton(
                child: new Text("Stop"),
                onPressed: (){
                  callAudio("stop");
                },
              ),
              new RaisedButton(
                child: new Text("Pause"),
                onPressed: (){
                  callAudio("pause");
                },
              ),
              new RaisedButton(
                child: new Text("Resume"),
                onPressed: (){
                  callAudio("resume");
                },
              )
            ],
          )
        ),
      ),
    );
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Flutter:如何流式传输由不带 mp3 扩展名的 http url 提供的实时音频 的相关文章

  • 如何在flutter app android中添加Startapp广告?

    我想用其他广告更改 AdMob 广告 一些个人问题 如何在flutter app android中添加Startapp广告 有什么方法可以将启动广告添加到我的 flutter 应用程序 android 中 StartApp 现已更名为 St
  • Flutter:防止抽屉关闭

    Flutter 中是否可以防止关闭抽屉 我在用endDrawer作为网络应用程序中的表单 我已禁用滑动打开功能 并且我还希望只允许通过按钮关闭它 这样用户就不会通过单击外部意外地关闭它 但是我看不到任何布尔值 例如防止解雇或任何实施方式Wi
  • 如何在flutter插件中调试iOS原生代码?

    我想知道如何在插件中调试 flutter iOS 代码 我可以打开每当您创建插件时生成的示例应用程序 但我将插件代码视为二进制框架 因此我无法调试它 对于 android 这相当简单 我只需打开 A S 中的 android 文件夹即可 插
  • 由于底部导航栏和标签栏导致底部溢出

    override Widget build BuildContext context super build context SystemChrome setEnabledSystemUIOverlays SystemUiOverlay v
  • 如何检查 Flutter 应用程序是否正在调试中运行?

    我正在寻找一种在应用程序处于调试模式时在 Flutter 中执行代码的方法 在 Flutter 中这可能吗 我似乎无法在文档中的任何地方找到它 像这样的东西 If app inDebugMode print Print only in de
  • Flutter:处理错误 Dio Package(404,400 等)

    我正在学习通过包的 ID 搜索数据DIO https pub dev packages dio https pub dev packages dio 我的问题是每次我输入错误的关键字搜索时 应用程序都会突然崩溃并显示调试消息404 未找到
  • 如何在颤动中动态禁用工具提示?

    我可以静态禁用工具提示 但我想在单击平按钮时动态禁用工具提示 但是无法动态禁用 我不知道该怎么做 这是我的代码 import package flutter material dart void main runApp MaterialAp
  • 连接 Flask Socket.IO Server 和 Flutter

    基本上 我有一个套接字 io 烧瓶代码 import cv2 import numpy as np from flask import Flask render template from flask socketio import Soc
  • Flutter SOAP:如何在 Flutter 中使用 SOAP?

    如何在 Flutter 中使用 SOAP Api 调用 我试过休息通话工作正常 我需要在 flutter 中构建 SOAP 调用 请分享如何在flutter中调用SOAP 参考此链接成功调用SOAPhttps dartpad dartlan
  • Flutter NestedScrollView 标题与 TabBar 和 TabbarView 一起弹跳

    当我想向上拖动时 可以将标题拉到刷新 标签栏粘滞 ListView可以滑动到另一个页面 100 自定义小部件 它支持更改标题值并且支持滑动操作 它实际上不是一个 TabBar Widget 但它的工作原理与此完全相同 import pack
  • 如何使用 Flutter/Dart 根据选择将单个 Firestore 文档 ID 传递给另一个类?

    我正在尝试使用 flutter 设计一个功能 当用户选择旅行的缩略图时 它会将用户带到一个页面 其中包含他们选择的旅行的更多详细信息 我试图尽可能少地查询 Firestore 数据库 因此我试图从单个查询快照中获取文档 ID 并将其传递给
  • 如何使用 SingleChildScrollView 使 Stacklayout 可滚动?

    我正在尝试使用 SingleChildScrollView 使堆栈布局可滚动 但它不滚动 这里应该使用SingleChildScrollView吗 我想我已经给出了足够的描述 可以让任何人理解我的问题 这里有更多文本以满足 StackOve
  • 颤动中的单选按钮对齐

    我是颤振的新手 我想对齐单选按钮 即 无论文本是什么 单选按钮都应该按列对齐 我在用Column然后小部件Row其中的小部件但得到以下结果 代码在这里 Widget build BuildContext context return Con
  • 在 flutter firebase 中登录时出现错误

    在使用错误的电子邮件或密码登录时 我希望获得我输入的小吃栏 但我的控制台中出现错误 error 初始任务操作失败 RecaptchaAction action signInWithPassword 有例外 内部 发生错误 无效的登录凭证 验
  • Flutter:未捕获的 ReferenceError:firebase 未定义

    我在 Flutter Web 应用程序中使用 Firebase 服务 但在加载 Firebase 脚本时遇到问题 当我使用扑动时运行 d chrome我看到有错误的空白页面 重新加载页面后加载正常 当我进行 flutter build we
  • 如何在 flutter 搜索页面小部件中消除搜索建议?

    我需要使用默认 flutter 的 Google 地方信息搜索建议搜索页 每当用户开始输入时 我都需要提供自动完成建议 并且我使用异步方式实现了这一点FutureBuilder 现在的问题是我需要将搜索请求的调度去抖 500 毫秒或更长时间
  • Flutter 命令删除 .pub-cache 文件夹中的包

    如何删除flutter包 pub cache文件夹 当我们给予flutter clean 它将删除当前目录中的build文件夹 我们可以手动删除 但是我的要求是删除里面的包 pub cache使用命令的文件夹 要清除全局 PUB CACHE
  • 错误:未为类“BuildContext”定义方法“inheritFromWidgetOfExactType”

    今天编译flutter项目的时候出现了这样的错误 This will generate a JSON format file containing all messages that need to be translated pub ca
  • flutter 中 Future.delayed 与 Timer 有什么区别

    我想知道延迟代码执行的 Future delayed 和 Timer 方法之间的区别 两者似乎都做同样的事情 未来 延迟 Future delayed const Duration milliseconds 500 code VS Time
  • 是否可以在flutter中开发移动键盘应用程序

    我们想要开发具有一些独特功能 例如在键盘上翻译 的移动键盘应用程序 第三方键盘 我们想知道是否有一种方法可以同时为 IOS 和 Android 开发一次 使用 Flutter 或者其他解决方案 对此有一个长的和一个短的答案 简短的回答基本上

随机推荐