标签: audio-streaming

如何从互联网下载音频/视频文件并存储在iPhone应用程序中?

我正在开发一个用于音乐的iPhone应用程序.我想给用户一些选项,这样他们就可以通过流媒体收听歌曲/音乐,或者他们可以在应用程序中下载音乐.我知道如何以编程方式在应用程序中流式传输音频文件.但是,我不知道如何在应用程序中下载音频文件并在下载后播放音频.并且用户可以在下载时暂停下载.有可能吗?任何人都可以指导我,请为我分享任何示例代码或教程?我还有一个疑问:你可以帮我在应用程序内创建一个文件夹吗?请帮我.提前致谢.

iphone download audio-streaming audio-player ios

20
推荐指数
1
解决办法
4万
查看次数

如何自定义MPVolumeView?

我已经尝试了许多方法来实现常规UISlider和控制设备卷,但它是所有Native-C函数,导致许多无法追踪的错误.

我试过MPVolumeView它就像魅力一样,它甚至在你关闭应用程序后控制设备音量,就像iPod应用程序一样.

我的问题是,无论如何要定制MPVolumeView特定的颜色和图像,就像UISlider

注意:我想要一个合法的方法,而不使用私有的未记录的API.

更新
根据@Alexsander Akers的回答,由于子视图隐藏在MPVolumeView我必须遍历子视图,获取UISlider并自定义它,这里是代码.

IBOutlet UISlider *volumeSlider;   //defined in <class.h> and connected to a UISlider in Interface Builder

-(void) viewDidLoad {
     ....
     [self setCustomSlider];
     ....
}

-(void) setCustomSlider{
     MPVolumeView *volumeView = [[[MPVolumeView alloc] initWithFrame:[volumeSlider frame]] autorelease];
     NSArray *tempArray = volumeView.subviews;

     for (id current in tempArray){
           if ([current isKindOfClass:[UISlider class]]){
                    UISlider *tempSlider = (UISlider *) current;
                    UIImage *img = [UIImage imageNamed:@"trackImage.png"];
                    img = [img stretchableImageWithLeftCapWidth:5.0 topCapHeight:0]; …
Run Code Online (Sandbox Code Playgroud)

iphone audio-streaming avaudioplayer

19
推荐指数
2
解决办法
9013
查看次数

使用PHP从音频流中提取音轨信息

是否可以使用PHP从音频流中提取音轨信息?我已经做了一些挖掘,我能找到的最接近的函数是stream_get_transports,但我的主机不支持通过fsockopen()的http传输,所以我将不得不做一些修补,看看该函数返回的是什么.

目前,我正在尝试从AOL流中提取艺术家和跟踪元数据.

php audio-streaming

19
推荐指数
2
解决办法
3万
查看次数

Android MediaPlayer在自定义音频流应用程序(适用于Android 2.1)中运行良好,但在较高版本中无效

编辑:

Android 2.2 MediaPlayer可以正常使用一个SHOUTcast URL,但不能与另一个一起使用

我需要播放来自外部URL(shoutcast流)的音频文件.目前,音频文件会逐步下载并在我们在手机本地临时存储中获得足够的音频时立即播放.我正在使用StreamingMediaPlayer类.

检查这段代码:

    private MediaPlayer createMediaPlayer(File mediaFile)
            throws IOException {
        MediaPlayer mPlayer = new MediaPlayer();
        //example of mediaFile =/data/data/package/cache/playingMedia0.dat
        FileInputStream fis = new FileInputStream(mediaFile);
        mPlayer.setDataSource(fis.getFD());
        mPlayer.prepare();
        return mPlayer;
    }
Run Code Online (Sandbox Code Playgroud)

当前状态:

1-从Android 1.6到2.1工作正常,但在Android 2.2等更高版本中没有.

2-"mPlayer.setDataSource(fis.getFD())"是抛出错误的行.

3-错误是"无法创建媒体播放器"

尝试其他方案:

我尝试了下面的替代解决方案但到目前为止没有任

Android 2.2 MediaPlayer可以正常使用一个SHOUTcast URL,但不能与另一个一起使用

我在找什么?

我的目标是拥有可以在Android 2.1及更高版本上运行的代码.

这个问题也在这里讨论:

1- 不一致2.2媒体播放器行为

在2.2中流式传输shoutcast流中断的 2个android代码

3-本期网站上的很多问题也讨论了这个问题,但我发现答案没有.

4- markmail.org

LogCat跟踪:

Unable to to create media player
Error copying buffered conent.
java.lang.NullPointerException
com.ms.iradio.StreamingMediaPlayer.startMediaPlayer(StreamingMediaPlayer.java:251)
com.ms.iradio.StreamingMediaPlayer.access$2(StreamingMediaPlayer.java:221)
com.ms.iradio.StreamingMediaPlayer$2.run(StreamingMediaPlayer.java:204)
android.os.Handler.handleCallback(Handler.java:587)
android.os.Handler.dispatchMessage(Handler.java:92)
android.os.Looper.loop(Looper.java:123)
android.app.ActivityThread.main(ActivityThread.java:3683)
java.lang.reflect.Method.invokeNative(Native Method) …
Run Code Online (Sandbox Code Playgroud)

audio android shoutcast audio-streaming android-mediaplayer

19
推荐指数
2
解决办法
2万
查看次数

设置音频端点设备应用特定(以编程方式)

链接到"反馈中心" 的错误报告


音频端点设备(此处称为"端点")是物理或虚拟音频输出或输入设备.


在Windows 10 April Update 1803中,引入了早该应用的"应用程序卷和设备首选项".这些设置允许更多地控制音频流管理,因为现在可以为不同的应用程序设置不同的端点,无论该特定应用程序是否带有端点选择.

但是,有一个问题是程序的音频(其端点是非默认的)在关闭并再次启动后通过默认端点(或根本不是)流式传输,尽管端点在设置中正确显示:

问题娱乐

据我所知,可以在具有任何虚拟或物理端点和受影响程序的Windows 10计算机(版本1803或更高版本)上重新创建该问题.我在这个例子中使用了"VLC媒体播放器"(忽略了它带有端点选择的事实),因为它是众所周知的并且可以广泛访问,这样可以更容易地重新创建问题.


我在寻找什么......

...是一种在端点之间切换的编程解决方案,理想情况下可以以脚本的形式启动,以通过应用程序启动设置正确的端点.

为了我的目的,只需手动调整设备实例路径就足够了,因为设备总是一样的,但我也不会抱怨从注册表中检索设备实例路径的解决方案.

  • 可以从密钥的子密钥中检索定义的端点和它们正在使用的设备的设备实例路径HKEY_USERS\# YOUR SID #\Software\Microsoft\Multimedia\Audio\DefaultEndpoint.我不知道windows如何生成子项的名称或它们可以在哪里找到.如果我不得不疯狂猜测,我会说这些是应用程序ID(如果我错了,请随时纠正我).
  • 设备管理器中可以找到设备实例路径(在"音频输入和输出"下双击所需的设备,导航到"详细信息"选项卡,然后从"属性"下拉菜单中选择"设备实例路径") .
  • 此外,Microsoft Docs中有关音频端点设备流管理的条目可能会有所帮助,但这远远超出我的想象.

一个可能但不切实际的解决方法......

...将为应用程序手动设置另一个端点,并在每次启动所述应用程序时切换回所需的端点(如上所示).

但是,不是每次启动都至少需要10秒,你甚至可能忘记这样做,因为音频可能只是通过默认端点流式传输.

后者的替代方案是,根本不会传输音频,或者在某些情况下它实际上是有效的.

例如:VLC媒体播放器,Tom Clancy的Rainbow Six Siege(虽然在启动画面期间音频将正确流式传输)

例如:使命召唤4:现代战争,使命召唤:现代战争2,使命召唤:现代战争3

例如:Window Media Player,Microsoft Edge,Firefox

意见

  • VLC Media Player附带端点选择,但TeamSpeak 3也是如此,与VLC不同,它完全跳过Windows设置.
  • "使命召唤"不会流式传输任何音频,因为我没有遇到任何其他类似的应用程序.
  • Windows Media Player,Microsoft Edge和Firefox是目前唯一可以正常运行的程序(我测试过).他们没有端点选择(我知道),并将在关闭并再次启动后使用正确的端点.但应注意,在调整端点时,Firefox和Microsoft Edge将在"应用程序卷和设备首选项"中显示多个实例.

放弃

我已经尝试了两个第三方软件:"音频路由器",它根本不起作用和"CheVolume",它不能解决问题并且在这样做时不断崩溃.

这个问题基于我在超级用户(这里)询问过的问题,由于我对实际编程缺乏了解,我无法得到答案(我对Batch和PowerShell只有一点熟悉) ).我很清楚,Stack Overflow和Super User都不是脚本编写服务,但是,这个问题没有得到Windows 10 10月更新1809的解决,我认为这是一个不仅影响我的问题,而且会影响我在我之后帮助多个人.如果您对此有不同看法,请随意撰写评论或提出修改建议.

我也不确定标签的"音频流"和"端点"是否应该在这种情况下使用,如果它们不应该或者你能想到更好的话,请提出编辑.



编辑 - 05/11/18

使用第三方软件'EarTrumpet'我能够克服"使命召唤"游戏的问题(重启后根本没有音频),但是,在我指定非默认端点后,"VLC媒体播放器"不会重启用'EarTrumpet'直到我再次关闭'EarTrumpet'并且'Tom Clancy的Rainbow Six Siege'的问题仍然存在. …

c++ audio endpoint audio-streaming windows-10

19
推荐指数
1
解决办法
917
查看次数

为什么JMF没有使用Mjsip进行音频流传输?

我正在使用Mjsip来创建一个软电话.在代码中有三种类型的音频分层选项.

  1. 使用JMF(Java Media Framework)
  2. 使用Java音频
  3. 使用RAT(强大的音频工具)

我没有使用RAT.它的价值被我自己弄错了.这是调用JMF的代码:

public JMFAudioLauncher(int local_port, String remote_addr, int remote_port, int direction, Log logger)
{  
    log=logger;
    localport=local_port;
    remoteport=remote_port;
    remoteaddr=remote_addr;
    // Patch for working with JMF with local streams
    if (remote_addr.startsWith("127."))
    {  
        printLog("Patch for JMF: replaced local destination address "+remote_addr+" with 255.255.255.255");
        remote_addr="255.255.255.255";
    }
    dir=direction;
    if (dir>=0) sender=new JMediaSender("audio",null,remote_addr,remote_port);
    if (dir<=0) receiver=new JMediaReceiver("audio",local_port,null);
}

/** Starts media application */
public boolean startMedia()
{  
    printLog("launching JMF-Audio...");
    String err1=null, err2=null;

    if (sender!=null) err1=sender.start();
    if (err1!=null) printLog("Error trying to send …
Run Code Online (Sandbox Code Playgroud)

java jmf rtp audio-streaming

18
推荐指数
1
解决办法
1051
查看次数

停止<audio>标签中的音频缓冲

我目前正在使用HTML5音频播放器通过(移动)浏览器提供音频流(24/7无线电流).在流中加载并播放它工作正常.

主要问题是HTML5 <audio>标签将继续下载(缓冲)内容,即使它不活跃.对于移动用户来说,这可能是一个主要问题,因为他们中的大多数都支付数据使 到目前为止,我还没有找到一个适合跨浏览器的解决方案,以防止这种情况发生.

我到目前为止尝试过:

  1. 按下暂停时卸载源.<这不适用于跨浏览器
  2. 删除音频播放器元素并加载新元素.这是有效的,但说实话,这是一种非常简单的执行极其简单的任务的方式.

我只是想知道在整个问题上是否有一些我忽略的东西,因为我确信我不是唯一有这个问题的人.

html5 buffering audio-streaming html5-audio

18
推荐指数
2
解决办法
1万
查看次数

Android设备之间的蓝牙音频流

我对同一主题进行了研究,发现android设备是a2dp源,音频只能从a2dp源流到a2dp接收器.A2dp接收器可以是蓝牙耳机或蓝牙扬声器.

但我的问题是那个名为 " 蓝牙音乐播放器 " 的Android应用程序如何工作的

它允许从一个移动设备流式传输到另一个 因此,在这种情况下,收听移动设备必须充当接收器.这怎么可能?他们使用的是其他配置文件而不是a2dp吗?

好的,这可能是他们正在使用的不同的配置文件.因为应用程序也需要在客户端安装.但是如何将语音从蓝牙麦克风传输到Android设备呢?

请帮忙.

streaming android bluetooth audio-streaming a2dp

18
推荐指数
1
解决办法
4万
查看次数

我可以将Firebase存储用于在线音乐流媒体吗?

我想要的是在Firebase存储上保存mp3文件,然后将其传输到Android设备.Firebase上的所有教程都讨论了图像文件的上传和下载.

如果有任何其他云比Firebase更容易存储和流式传输音频,那么请建议.

android audio-streaming firebase firebase-storage

18
推荐指数
1
解决办法
1万
查看次数

HTML5中的音频数据流

我正在以小块的形式从服务器接收PCM音频数据,并将它们存储在一个数组中.现在我想使用一些HTML5功能顺序播放这些音频块.我将其视为"可能"解决方案的两个选项是:

  1. 带有数据URI的 HTML5音频标记
  2. Web音频API

在我调查这些选项时,请向我建议我正在考虑的两个选项的任何其他选项或观点.虽然跨平台解决方案将是最好的,但我可以满足Chrome专用解决方案

javascript html5 google-chrome audio-streaming html5-audio

17
推荐指数
2
解决办法
2万
查看次数