- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在尝试将我发现用 Java 编写的一些(非常简单的)android 代码重写为静态 HTML5 应用程序(我不需要服务器来执行任何操作,我希望保持这种状态)。我有广泛的Web开发背景,但对Java有基本的了解,对Android开发的了解就更少了。
该应用程序的唯一功能是获取一些数字并将它们从字节转换为音频。我完全没有问题将数学逻辑翻译成 JS。我遇到麻烦的地方是实际发出声音的时候。这是原始代码的相关部分:
import android.media.AudioFormat;
import android.media.AudioManager;
import android.media.AudioTrack;
// later in the code:
AudioTrack track = new AudioTrack(AudioManager.STREAM_MUSIC, sampleRate, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, minBufferSize, AudioTrack.MODE_STATIC);
// some math, and then:
track.write(sound, 0, sound.length); // sound is an array of bytes
我如何在 JS 中执行此操作?我可以使用 dataURI to produce the sound from the bytes ,但这是否允许我控制此处的其他信息(即采样率等)?换句话说:在 JS 中什么是最简单、最准确的方法?
gia hạn
我一直在尝试复制我在 câu trả lời này 中找到的内容.这是我的代码的相关部分:
window.onload = init;
var context; // Audio context
var buf; // Audio buffer
function init() {
if (!window.AudioContext) {
if (!window.webkitAudioContext) {
alert("Your browser does not support any AudioContext and cannot play back this audio.");
trở lại;
}
window.AudioContext = window.webkitAudioContext;
}
context = new AudioContext();
}
function playByteArray( bytes ) {
var buffer = new Uint8Array( bytes.length );
buffer.set( new Uint8Array(bytes), 0 );
context.decodeAudioData(buffer.buffer, play);
}
function play( audioBuffer ) {
var source = context.createBufferSource();
source.buffer = audioBuffer;
source.connect( context.destination );
source.start(0);
}
但是,当我运行它时,出现了这个错误:
Uncaught (in promise) DOMException: Unable to decode audio data
我觉得这很不寻常,因为它是一个如此普遍的错误,它设法漂亮地告诉我到底哪里出了问题。更令人惊讶的是,当我一步一步调试时,即使错误链(预期)以 context.decodeAudioData(buffer.buffer, play);
行开始,它实际上遇到了一些jQuery 文件 ( 3.2.1, uncompressed ) 中的更多行,在出错之前经过第 5208、5195、5191、5219、5223 行和最后的 5015 行。我不知道为什么 jQuery 与它有任何关系,而且错误让我不知道该尝试什么。有什么想法吗?
câu trả lời hay nhất
nếu nhưbyte
是一个 ArrayBuffer
没有必要创建 Uint8Array
.你可以通过ArrayBuffer
byte
作为 AudioContext.decodeAudioData()
的参数返回 Hứa
, 链条 .then()
至 .decodeAudioData()
, 调用 play
函数作为参数。
hiện hữu javascrip
在 stacksnippets,元素用于接受音频文件的上传,
FileReader.prototype.readAsArrayBuffer()
tạo nên ArrayBuffer
từ Tài liệu
对象,传递给 playByteArray
.
window.onload = init;
var context; // Audio context
var buf; // Audio buffer
var reader = new FileReader(); // to create `ArrayBuffer` from `File`
function init() {
if (!window.AudioContext) {
if (!window.webkitAudioContext) {
alert("Your browser does not support any AudioContext and cannot play back this audio.");
trở lại;
}
window.AudioContext = window.webkitAudioContext;
}
context = new AudioContext();
}
function handleFile(file) {
console.log(file);
reader.onload = function() {
console.log(reader.result instanceof ArrayBuffer);
playByteArray(reader.result); // pass `ArrayBuffer` to `playByteArray`
}
reader.readAsArrayBuffer(file);
};
function playByteArray(bytes) {
context.decodeAudioData(bytes)
.then(play)
.catch(function(err) {
console.error(err);
});
}
function play(audioBuffer) {
var source = context.createBufferSource();
source.buffer = audioBuffer;
source.connect(context.destination);
source.start(0);
}
关于javascript - 将 Java 代码重写为 JS - 从字节创建音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43126476/
Tôi cố gắng hiểu [mã c -> hội] mã void node::Check( data & _data1, vector& _data2) { -> push ebp -> Mov ebp,esp ->
Tôi cần chạy mã từ tệp văn bản trong ngữ cảnh của biểu mẫu (mã) hiện tại. Một trong những yêu cầu là yêu cầu mã tạo điều khiển mới và thêm nó vào biểu mẫu hiện tại. Ví dụ: trong Form1.cs: sử dụng System.Windows.Forms ..
Tôi có mã C++ này và đã chuyển đổi nó thành mã C# (.net Framework 4). Có ai có thể cho tôi một số lời khuyên về các phương pháp malloc, free và sprintf không? int monate = ee;
Tôi gặp sự cố với mã máy chủ web của mình #include #include #include #include #include #include #include int
Cho đoạn mã html sau, mã CSS để in nghiêng phần tử thứ ba trong danh sách (từ "Đẹp") là gì? Tất nhiên, tôi có thể cung cấp cho phần tử này một id hoặc một lớp, nhưng mã html phải giữ nguyên. Cảm ơn
đóng cửa. Câu hỏi này không tuân thủ các nguyên tắc của Stack Overflow. Hiện tại nó không chấp nhận câu trả lời. Chúng tôi không cho phép các câu hỏi tìm kiếm đề xuất về sách, công cụ, thư viện phần mềm, v.v. Bạn có thể chỉnh sửa câu hỏi của mình để trả lời bằng sự kiện và trích dẫn. Đóng cửa 7 năm trước
Tôi đang cố gắng tạo macro để tránh trùng lặp mã và nhận xét. Tôi đã thử điều này: #define GrowOnPage(bất kỳ Trang nào, bất kỳ Thành phần nào) Component.Width := Page.Surfa
Tôi đang cố gắng "dịch" mã C++ cũ của mình sang mã C# mà các tiêu đề gợi ý. Vấn đề là tôi mới làm quen với C# và không phải mọi thứ đều giống như trong C++. Trong C++, các giải pháp này hoạt động tốt, nhưng trong C# thì không. TÔI
Hoạt động trên Windows 10, trình định dạng R dường như không hoạt động trong Visual Studio Code. Tôi đã thử hỗ trợ R cho Visual Studio Code và RT
Tôi đang làm việc trên một số báo cáo (số lượng) và tôi phải tính số lượng cho các thông số khác nhau. Rất đơn giản nhưng nhàm chán. Truy vấn ví dụ với một tham số: qCountsEmployee = ("select count(*) from %s wher
Vài ngày qua tôi đã cố gắng gỡ lỗi mạng từ d00m. Tôi bắt đầu cạn kiệt ý tưởng/khách hàng tiềm năng và tôi hy vọng những người dùng SO khác có những trải nghiệm quý giá có thể hữu ích. Tôi ước mình có thể cung cấp tất cả thông tin liên quan nhưng cá nhân tôi không có quyền kiểm soát môi trường máy chủ. Mọi chuyện bắt đầu khi người dùng chú ý đến ứng dụng của chúng tôi
Tôi có một tệp app.js chứa mã mẫu amd dojo sau: require(["dojo/dom", ..], function(dom){ dom.byId('someId').i
Tôi hơi bối rối về tùy chọn "code=sm_X" trong câu lệnh "-gencode". Một ví dụ: Tùy chọn trình biên dịch NVCC -gencode Arch=compute_13,code=sm_13 làm gì trong thư viện nhúng? chỉ một
Tôi sử dụng khung có thể chỉnh sửa X cho bảng của mình. Nhưng tôi có một số câu hỏi. $(document).ready(function() { $('.access').editable({
Tôi đã học bình/python thông qua hướng dẫn này http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-wo
Tôi muốn sử dụng Vim và EMACS cho CNC, mã G và mã M. Có cú pháp hoặc mẫu nào để Vim hoặc EMACS xử lý loại mã này không? Câu trả lời hay nhất Một số tìm kiếm nhanh đã dẫn tôi đến vim và thi
đóng cửa. Câu hỏi này không tuân thủ các nguyên tắc của Stack Overflow. Hiện tại nó không chấp nhận câu trả lời. Bạn muốn cải thiện câu hỏi này? Câu hỏi được cập nhật để làm cho câu hỏi trở thành chủ đề cho Stack Overflow. Đóng cửa 7 năm trước Cải thiện điều này
Câu hỏi này đã có câu trả lời ở đây: Bật tính năng đánh dấu đánh dấu trong Vim (5 câu trả lời) Đã đóng 6 năm trước. Khi tôi chỉnh sửa READM chứa mã Markdown trong Vim
Tôi đang phát triển một ứng dụng video trong Swift3 iOS. Về cơ bản, tôi phải hợp nhất Nội dung video và âm thanh có hiệu ứng mờ dần thành một và lưu nó vào thư viện iPhone. Để làm điều này, tôi sử dụng phương pháp sau: Private func d
đường ống { đại lý bất kỳ giai đoạn nào { giai đoạn ('Xây dựng') { các bước { e
Tôi là một lập trình viên xuất sắc, rất giỏi!