Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在dart中捕获无止境的网络流并过滤出元数据?_Flutter_Dart_Icecast_Shoutcast - Fatal编程技术网

Flutter 如何在dart中捕获无止境的网络流并过滤出元数据?

Flutter 如何在dart中捕获无止境的网络流并过滤出元数据?,flutter,dart,icecast,shoutcast,Flutter,Dart,Icecast,Shoutcast,我正在为德国的一家电台编写一个应用程序,我想从他们的Icecast服务器获取音频流标题信息。我如何在flatter/Dart中接收音频流并过滤出音频元数据以显示歌曲名称 我已经有了获取ice metaint数字的代码,需要将字节(mp3音频数据)计数到显示元数据字符串长度的字节。(就我而言,是16000) 获取ice metaint整数的代码: Future<Map> getInfoDataFromIceCastStream(String url) async { var r

我正在为德国的一家电台编写一个应用程序,我想从他们的Icecast服务器获取音频流标题信息。我如何在flatter/Dart中接收音频流并过滤出音频元数据以显示歌曲名称

我已经有了获取
ice metaint
数字的代码,需要将字节(mp3音频数据)计数到显示元数据字符串长度的字节。(就我而言,是16000)

获取
ice metaint
整数的代码:

Future<Map> getInfoDataFromIceCastStream(String url) async {
    var request = http.Request('GET', Uri.parse(url));
    request.headers['Icy-MetaData'] = '1';
    var response = await request.send();
    var headers = response.headers;

    return headers;
  }

  Future<int> getIcyMetaInt(String url) async {
    Map metaData = await getInfoDataFromIceCastStream(url);
    print(metaData['icy-metaint']);
    return int.parse(metaData['icy-metaint']);
  }
Future getInfoDataFromIceCastStream(字符串url)异步{
var request=http.request('GET',Uri.parse(url));
request.headers['ice-MetaData']='1';
var response=wait request.send();
var headers=response.headers;
返回标题;
}
未来的getIcyMetaInt(字符串url)异步{
映射元数据=等待getInfoDataFromIceCastStream(url);
打印(元数据['icy-metaint']);
返回int.parse(元数据['ice-metaint']);
}
最后,我希望得到如下字符串:
StreamTitle='Gong 96.3-markforster-Chöre';StreamUrl=''

您是否找到了解决方案,我也遇到了获取流标题、url。。。飘飘然?