以下代码在Android 2.1update1上运行正常 -
package com.troubadorian.android.teststreaming;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.animation.AnimationUtils;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.Gallery;
import android.widget.ImageButton;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.Gallery.LayoutParams;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.ViewSwitcher;
public class TestStreaming extends Activity
{
private Button streamButton;
private ImageButton playButton;
private TextView textStreamed;
private boolean isPlaying;
private StreamingMediaPlayer audioStreamer;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.main);
initControls();
}
protected void …Run Code Online (Sandbox Code Playgroud) 是否可以仅使用Javascript和HTML5音频和视频标签流式传输加密内容(DRM),而不使用SWF方法?
我想开发一个可以即时发送和读取音频的Web示例应用程序.
我们的想法是开发一个HTML5/JS网站.所以,管理部分(用PHP或任何服务器端语言)将允许我从麦克风发送音频.
然后,在客户端,用户可以<audio>例如用标签收听流.
可能吗?有没有人使用强大的(开放/免费)解决方案呢?
谢谢,
问候.
我想获取文件名,如果可能的话,从AVPlayerItem中的流媒体URL获取专辑图像,我正在使用AVQueuePlayer,但我不知道该怎么做.
另外,如果事实证明我的流媒体网址没有任何元数据,我可以在将元数据NSURL*传递给AVPlayerItem之前将元数据放入我的数据库吗?
谢谢.
我想学习音频流的基础知识.特别是,我想学习如何从计算机麦克风中捕获音频,并实时流式传输,以便其他用户可以实时收听.我想在Windows上这样做.
是否有任何好的教程可以解释它是如何完成的以及一些示例C++代码,我可以查看更多详细信息?
我也听说ASIO提供了一个低延迟库,所以我对此感兴趣.
我有一个单页网站,列出了一系列HTML5音频播放器.问题是网站变得很慢因为以下浏览器开始预先加载内容(mp3和ogg)
Internet Explorer
Google Chrome
Firefox
Safari
(probably Opera)
Run Code Online (Sandbox Code Playgroud)
我使用基本代码来实现播放器.有没有办法阻止浏览器预先加载音频文件,只有在点击播放时才能工作?
<audio controls="controls" height="32" width="300" tabindex="0">
<source type="audio/mpeg" src="http://cdn.com/track.mp3"></source>
<source type="audio/ogg" src="http://cdn.com/track.ogg"></source>
</audio>
Run Code Online (Sandbox Code Playgroud) 我试图通过以下方式使用HTML5功能流式传输音频/ wav:
<audio type="audio/wav" src="/sound/10/audio/full" sound-id="10" version="full" controls="">
</audio>
Run Code Online (Sandbox Code Playgroud)
这在Chrome上运行得很好,除了重放或重新定位currentTime属性这一事实:
var audioElement = $('audio').get(0)
audioElement.currentTime
> 1.2479820251464844
audioElement.currentTime = 0
audioElement.currentTime
> 1.2479820251464844
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码从Grails控制器提供音频文件:
def audio() {
File file = soundService.getAudio(...)
response.setContentType('audio/wav')
response.setContentLength (file.bytes.length)
response.setHeader("Content-disposition", "attachment;filename=${file.getName()}")
response.outputStream << file.newInputStream() // Performing a binary stream copy
response.status = 206
return false
}
Run Code Online (Sandbox Code Playgroud)
虽然Grails正在回馈HTTP响应200而不是206(部分内容),您可以从Chrome的以下输出中看到:
Request URL:http://localhost:8080/sound/10/audio/full
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:*/*
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3
Accept-Encoding:identity;q=1, *;q=0
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Cookie:JSESSIONID=9395D8FFF34B7455F937190F521AA1BC
Host:localhost:8080
Range:bytes=0-3189
Referer:http://localhost:8080/cms/sound/10/edit
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.11 …Run Code Online (Sandbox Code Playgroud) 目前我正在使用NumPy从NumPy数组生成WAV文件.我想知道是否可以在实际写入硬盘之前实时播放NumPy阵列.我发现使用PyAudio的所有示例都依赖于首先将NumPy数组写入WAV文件,但我希望有一个预览函数,它只是将NumPy数组吐出到音频输出.
也应该是跨平台的.我正在使用Python 3(Anaconda发行版).
我正在尝试创建一个项目,从互联网上提取实时流音频文件,并连续采样音频,寻找给定时间段内最主要的频率.这个想法是,如果它在一段时间(几秒)内检测到让我们说440Hz的频率,则意味着在直播流上播放了特定的音调.一旦它检测到特定的音调,我就会在程序中做一些其他的事情.直播是流言,单音或沉默.
我能够做到这一点,得到一个概念证明工作,读取我从在线音调发生器生成的文件.当我传入该文件时,它正确地识别频率(它仅关闭1或2 Hz).当我拉入实时流时,我得到的频率数据类似于:17704Hz.我的猜测是它来自直播的"噪音".
我正在使用npm模块node-pitchfinder并audio-analyer完成大部分处理
关于如何获得单音的任何想法?
const fs = require('fs');
const fsa = require('fs-extra');
const Lame = require('lame');
const Speaker = require('speaker');
const Volume = require('pcm-volume');
const Analyser = require('audio-analyser')
const request = require('request')
const Chunker = require('stream-chunker');
const { YIN } = require('node-pitchfinder')
const detectPitch = YIN({ sampleRate: 44100})
//const BUFSIZE = 64;
const BUFSIZE = 500;
var decoder = new Lame.Decoder();
decoder.on('format', function(format){onFormat(format)});
var chunker = Chunker(BUFSIZE);
chunker.pipe(decoder);
var options = {
url: …Run Code Online (Sandbox Code Playgroud) AVPlayer在后台模式下播放时遇到问题,就像网络上的很多人一样.我已经完成了我认为应该工作的东西,但仍然没有...我认为我的问题可能是我设置和使用我的AudioSession和AVPlayer的地方.
1)"audio"键位于我的Info.plist的UIBackgroundModes中
2)AudioSession在AppDelegate中设置如下(在didFinishLaunchingWithOptions中初始化):
AVAudioSession *audio = [[AVAudioSession alloc]init];
[audio setCategory:AVAudioSessionCategoryPlayback error:nil];
[audio setActive:YES error:nil];
Run Code Online (Sandbox Code Playgroud)
3)我使用了也在AppDelegate中实现的AVPlayer(不是AVAudioPlayer).(在AudioSession之后的didFinishLaunchingWithOptions中初始化),紧跟在AudioSession之后
// Load the array with the sample file
NSString *urlAddress = @"http://mystreamadress.mp3";
//Create a URL object.
self.urlStream = [NSURL URLWithString:urlAddress];
self.player = [AVPlayer playerWithURL:urlStream];
//Starts playback
[player play];
Run Code Online (Sandbox Code Playgroud)
而且,每当应用程序进入后台时(当我按下"主页"按钮时),音频就会暂停.