- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
// Create a new instance of an audio object and adjust some of its properties
var audio = new Audio();
audio.src = 'http://subdomain.domain.org:port/;stream/1';
audio.controls = true;
audio.loop = true;
audio.autoplay = true;
audio.crossorigin="anonymous";
// Establish all variables that your Analyser will use
var canvas, ctx, source, context, analyser, fbc_array, bars, bar_x, bar_width, bar_height;
// Initialize the MP3 player after the page loads all of its HTML into the window
window.addEventListener("load", initMp3Player, false);
function initMp3Player(){
document.getElementById('audio_box').appendChild(audio);
context = new (window.AudioContext || window.webkitAudioContext)(); // AudioContext object instance // AudioContext object instance
analyser = context.createAnalyser(); // AnalyserNode method
canvas = document.getElementById('analyser_render');
ctx = canvas.getContext('2d');
// Re-route audio playback into the processing graph of the AudioContext
source = context.createMediaElementSource(audio);
source.crossOrigin = 'anonymous'
source.connect(analyser);
analyser.connect(context.destination);
frameLooper();
}
// frameLooper() animates any style of graphics you wish to the audio frequency
// Looping at the default frame rate that the browser provides(approx. 60 FPS)
function frameLooper(){
(requestAnimationFrame || webkitRequestAnimationFrame)(frameLooper);
fbc_array = new Uint8Array(analyser.frequencyBinCount);
analyser.getByteFrequencyData(fbc_array);//get frequency
ctx.clearRect(0, 0, canvas.width, canvas.height); // Clear the canvas
ctx.fillStyle = '#00CCFF'; // Color of the bars
bars = 100;
for (var i = 0; i < bars; i++) {
bar_x = i * 3;
bar_width = 2;
bar_height = -(fbc_array[i] / 2);
// fillRect( x, y, width, height ) // Explanation of the parameters below
ctx.fillRect(bar_x, canvas.height, bar_width, bar_height);
}
}
由于 CORS 访问限制,音频 API MediaElementAudioSource 输出为零,因为我正在尝试播放 SHOUTcast URL。我不知道该怎么办;我已经尝试了互联网上的所有解决方案,但没有任何效果。任何帮助将不胜感激。
URL 与音频元素完美配合,因此它与 URL 无关;我什至尝试过像 http://subdomain.domain.org:port/file.mp3
这样的东西。我在互联网上发现使用 .ogg
的 Icecast 的人有同样的问题。如何解决这个问题?
câu trả lời hay nhất
在我的回复中,我将采用以下设置:
要实现此功能,您需要:
*
âm thanh
đánh dấu crossOrigin
属性设置为“匿名”audio.crossOrigin="anonymous"
;sử dụngIcecast,您可以使用配置文件设置“Access-Control-Allow-Origin” header ,只需将以下行添加到您的icecast.xml 中,我通常在打开
后立即添加它们标签:
不要忘记在这些更改后重新启动 Icecast。当您的 Icecast 重新联机时,您可以使用以下命令检查 header :
lynx -head -dump http://stream.radio.com:8000/mount
响应应该是这样的:
Server: Icecast 2.4.2
....
Kiểm soát truy cập-Cho phép-Nguồn gốc: *
Access-Control-Allow-Headers: Origin, Accept, X-Requested-With, Content-Type, If
-Modified-Since
Access-Control-Allow-Methods: GET, OPTIONS, HEAD
如您所见,存在“Access-Control-Allow-Origin: *” header 。
广播
不幸的是,Shoutcast 不允许您设置 HTTP header (.htaccess 也不是一个选项),但我们可以在 Web 服务器配置中创建一个反向代理,这将允许您托管来自主域的流 - radio.com
.我将为 Nginx 和 Apache 提供代理配置。
Nginx
您可以使用“proxy_set_header”添加额外的 header ,但基本示例是:
máy chủ {
listen 80;
server_name radio.com;
....
location /stream {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://stream.radio.com:8000/mount;
}
....
}
Apache
激活Apache代理模块,更新radio.com虚拟主机配置配置:
ServerName radio.com
....
ProxyPass /stream http://stream.radio.com:8000/mount
现在您可以使用 http://radio.com/stream URL 访问您的流,CORS 政策将不适用。该解决方案还带来了一些额外的好处:
关于javascript - 由于 CORS 访问限制,MediaElementAudioSource 输出零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31083704/
Tôi có ServiceBusQueue (SBQ) nhận được rất nhiều tin nhắn. Tôi có ServiceBusTrigger(SBT) với accessRights(manage) giúp duy trì việc bỏ phiếu từ SBQ
Trong tập kết quả được đưa ra bên dưới, có 2 người dùng (id) duy nhất và nhiều người dùng như vậy có thể xuất hiện trong truy vấn: Đây là truy vấn nhiều liên kết: chọn id, tên, col1Code, col2Code, col2Va
Tôi đang viết một tập lệnh nhỏ với GRequests và lxml trong Python 2.7.3 cho phép tôi thu thập một số giá thẻ sưu tầm từ nhiều trang web khác nhau và so sánh chúng. Vấn đề là một trong các trang web giới hạn số lượng yêu cầu và nếu tôi vượt quá nó, nó sẽ gửi lại
Tôi muốn biết khi nào thực sự nên sử dụng giới hạn xóa tầng hoặc xóa và cập nhật tầng hoặc giới hạn cập nhật. Tôi khá bối rối về việc sử dụng chúng hoặc áp dụng chúng trong cơ sở dữ liệu của mình. Câu trả lời hay nhất Sử dụng toán tử xếp tầng trên các ràng buộc khóa ngoại là một chủ đề nóng. Về lý thuyết, nếu bạn biết việc xóa đối tượng cha cũng sẽ tự động xóa nó
Dưới đây là đầu ra của tôi, tôi chỉ muốn hiển thị những tên trùng lặp đó. Mỗi tên là một phi công và số hiệu là loại máy bay mà phi công đó lái. Tôi muốn hiển thị tên của các phi công lái nhiều máy bay. Tôi đang sử dụng sql*plus PIL_PILOTNAME
Tôi đang đánh giá các khung di động khác nhau và tôi nghĩ bản gốc là một lựa chọn tốt. Nhưng tôi không biết liệu có những hạn chế nào trong quá trình phát triển hay không. Ví dụ: tôi có những hạn chế về kiểu dáng (điều đó không thành vấn đề), nhưng tôi tự hỏi liệu trong tương lai tôi có thể có những hạn chế và không thể sử dụng một số nat nhất định không?
Tôi đang cố gắng sử dụng liên kết dữ liệu grails để ánh xạ một số tham số biểu mẫu vào mô hình của mình nhưng tôi nghĩ có thể có một số hạn chế trong việc ánh xạ các bộ sưu tập được nhúng. Ví dụ: nếu tôi gửi một số tham số như thế này, ánh xạ sẽ hoạt động tốt: //this wo
Có thể giới hạn thời gian django kể từ khi lọc đến 7 ngày. Nếu ngày cũ hơn 7 ngày thì không có bộ lọc nào được áp dụng. Câu trả lời hay nhất Mã nguồn của timesince nằm ở django/django/utils/timesince.
Tôi muốn nhúng nút quyên góp PayPal trên trang web của mình. Nhưng vấn đề là tôi sống ở Iran - đất nước đang bị trừng phạt và mọi người không sử dụng tài khoản ngân hàng quốc tế hoặc thẻ tín dụng chính. Có ý tưởng gì không? Xin hãy giúp đỡ! Xin chào, câu trả lời hay nhất mà bạn có thể sử dụng trong Iran cho Iran.
Đây là truy vấn của tôi, chọn PhoneNumber làm _data,PhoneType làm _type từ contact_phonenumbers trong đó ContactID = 3
Câu hỏi này đã có câu trả lời ở đây: Số lượng tham số tối đa được truyền cho truy vấn $in trong MongoDB là bao nhiêu?
AndroidManifest.xml của một trong các dự án của tôi ngày càng lớn hơn (>1000 dòng) vì tôi phải sử dụng React cho một số loại tệp nhất định và việc bao gồm tất cả các trường hợp ngày càng phức tạp hơn. Tôi muốn biết liệu có bất kỳ giới hạn nào về kích thước danh sách hay không.
Khi sử dụng MySQL 5.1 Enterprise sau nhiều năm sử dụng các sản phẩm cơ sở dữ liệu khác như Sybase, Infomix, DB2, v.v., tôi đã gặp phải một số điều mà MySQL sẽ không làm được. Ví dụ: nó chỉ có thể tạo EX cho truy vấn SELECT
Câu hỏi này đã có câu trả lời ở đây: Số lượng tham số tối đa được truyền cho truy vấn $in trong MongoDB là bao nhiêu? (4 câu trả lời) Đã đóng 5 năm trước
Thông thường, chúng tôi đặt tham số Apache trong {$apache}/conf/httpd.conf. Tuy nhiên, chúng tôi không tìm thấy hướng dẫn cấu hình có thể đặt kích thước tệp nhật ký.
Tôi đang tìm kiếm các cặp khóa-giá trị SharedPreferences lớn nhất của Android nhưng không thể tìm thấy bất kỳ câu trả lời hay nào. Thứ hai, tôi muốn hỏi, nếu tôi có khóa thì giới hạn giá trị chuỗi cho nó là bao nhiêu. Có bao nhiêu ký tự có thể phù hợp với nó. Nếu tôi cần thay đổi giá trị thường xuyên
Tôi hiện đang thử nghiệm API SoundCloud và nhận thấy rằng các yêu cầu GET của tôi tới tài nguyên /tracks không bao giờ trả về hơn 200 kết quả cùng một lúc. Một số câu hỏi về vấn đề này: Đây có phải là sự hạn chế có chủ ý? Có cách nào để tăng giới hạn này không? giống
Tôi đang làm việc với một công ty công nghệ tài chính có tên là Dwolla, công ty này cung cấp API để đính kèm thông tin ngân hàng cho người dùng và thu/gửi thanh toán ACH. Họ yêu cầu tôi nâng cấp phiên bản TLS tối thiểu lên 1.2 (tắt TLS 1.
Tôi có một mảng nhiều chiều trong PHP như sau: $array = Array ( [0] => Array ( [bill] => 1 ) [1] => Array ( [
Tôi gặp sự cố khi nhận hàng đầu tiên của truy vấn tiếp theo: Chọn mar.Title MarketTitle, ololo.NUMBER, ololo.Title từ Markets mar JOIN(
Tôi là một lập trình viên xuất sắc, rất giỏi!