bugfix
This commit is contained in:
parent
19354afc4e
commit
ca905937cf
@ -50,17 +50,22 @@ bricks.AudioPlayer = class oops extends bricks.JsWidget {
|
|||||||
|
|
||||||
bricks.AudioRecorder = class oops extends bricks.HBox {
|
bricks.AudioRecorder = class oops extends bricks.HBox {
|
||||||
/*
|
/*
|
||||||
|
we need this module:
|
||||||
|
https://gitee.com/xiangyuecn/Recorder
|
||||||
events:
|
events:
|
||||||
record_started
|
record_started
|
||||||
record_finished wavdata
|
record_finished wavdata
|
||||||
|
realtime record wave show need a another package
|
||||||
|
we only use the wav file format
|
||||||
*/
|
*/
|
||||||
constructor(opts){
|
constructor(opts){
|
||||||
super(opts);
|
super(opts);
|
||||||
this.start_icon = opts.start_icon || bricks_resource('imgs/start_recording.png');
|
this.start_icon = opts.start_icon || bricks_resource('imgs/start_recording.png');
|
||||||
this.stop_icon = opts.stop_icon || bricks_resource('imgs/stop_recording.png');
|
this.stop_icon = opts.stop_icon || bricks_resource('imgs/stop_recording.png');
|
||||||
this.rec_btn = new bricks.Icon({url:this.start_icon });
|
this.rec_btn = new bricks.Icon({url:this.start_icon });
|
||||||
this.player = new bricks.AudioPlayer({url:"",width:'80px'});
|
// this.player = new bricks.AudioPlayer({url:"",width:'80px'});
|
||||||
this.rec_time = new bricks.Text({text:"", i18n:false, width:'120px'});
|
this.rec_time = new bricks.Text({text:" record time", i18n:false, wrap:false, width:'120px'});
|
||||||
|
this.upload_url = opts.upload_url;
|
||||||
this.rec_btn.bind('click', this.rec_btn_pressed.bind(this))
|
this.rec_btn.bind('click', this.rec_btn_pressed.bind(this))
|
||||||
this.URL = window.URL||webkitURL;
|
this.URL = window.URL||webkitURL;
|
||||||
this.rec = null;
|
this.rec = null;
|
||||||
@ -68,8 +73,9 @@ bricks.AudioRecorder = class oops extends bricks.HBox {
|
|||||||
this.mic_opened = false;
|
this.mic_opened = false;
|
||||||
this.add_widget(this.rec_btn);
|
this.add_widget(this.rec_btn);
|
||||||
this.add_widget(this.rec_time);
|
this.add_widget(this.rec_time);
|
||||||
this.add_widget(this.player);
|
// this.add_widget(this.player);
|
||||||
this.recordData = null;
|
this.recordData = null;
|
||||||
|
this.bind('record_finished', this.upload.bind(this));
|
||||||
}
|
}
|
||||||
rec_btn_pressed(){
|
rec_btn_pressed(){
|
||||||
console.log(this.rec_btn.url, ':url:', this.start_icon, this.stop_icon);
|
console.log(this.rec_btn.url, ':url:', this.start_icon, this.stop_icon);
|
||||||
@ -88,8 +94,7 @@ bricks.AudioRecorder = class oops extends bricks.HBox {
|
|||||||
// document.querySelector(".recpowerx").style.width=powerLevel+"%";
|
// document.querySelector(".recpowerx").style.width=powerLevel+"%";
|
||||||
//可视化图形绘制
|
//可视化图形绘制
|
||||||
// wave.input(buffers[buffers.length-1],powerLevel,bufferSampleRate);
|
// wave.input(buffers[buffers.length-1],powerLevel,bufferSampleRate);
|
||||||
this.rec_time.text = formatMs(bufferDuration,1);
|
this.rec_time.set_text(' ' + formatMs(bufferDuration,1));
|
||||||
console.log(this.rec_time.text);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
recOpen(){
|
recOpen(){
|
||||||
@ -114,6 +119,8 @@ bricks.AudioRecorder = class oops extends bricks.HBox {
|
|||||||
recClose(){
|
recClose(){
|
||||||
if(this.rec){
|
if(this.rec){
|
||||||
this.rec.close();
|
this.rec.close();
|
||||||
|
this.rec = null;
|
||||||
|
this.mic_opened = false;
|
||||||
}else{
|
}else{
|
||||||
console.log('close recorder error');
|
console.log('close recorder error');
|
||||||
};
|
};
|
||||||
@ -159,26 +166,31 @@ bricks.AudioRecorder = class oops extends bricks.HBox {
|
|||||||
duration:duration
|
duration:duration
|
||||||
}
|
}
|
||||||
this.recordData = d;
|
this.recordData = d;
|
||||||
this.player.set_source(this.recordData.url);
|
// this.player.set_source(this.recordData.url);
|
||||||
this.dispatch('record_finished', d);
|
this.dispatch('record_finished', d);
|
||||||
|
|
||||||
}.bind(this),function(msg){
|
}.bind(this),function(msg){
|
||||||
console.log("kGZO::录音失败:");
|
console.log("kGZO::录音失败:");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
async upload(){
|
upload = async function(){
|
||||||
if(!this.recordData){
|
if(!this.recordData){
|
||||||
console.log("DUTn::请先录音,然后停止后再上传");
|
console.log("DUTn::请先录音,然后停止后再上传");
|
||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
var blob=this.recordData.blob;
|
if(!this.upload_url){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var blob=this.recordData.data;
|
||||||
|
console.log('blob=', blob, this.recordData);
|
||||||
var form=new FormData();
|
var form=new FormData();
|
||||||
form.append("audiofile",blob,"recorder.wav");
|
form.append("audiofile",blob,"recorder.wav");
|
||||||
var hj = HttpJson()
|
var jpost = bricks.jpost
|
||||||
var ret = await hj.post(this.upload_url,{
|
var ret = await jpost(this.upload_url,{
|
||||||
params:form
|
params:form
|
||||||
});
|
});
|
||||||
console.log('ret=', ret);
|
console.log('ret=', ret);
|
||||||
|
this.recClose();
|
||||||
this.dispatch('updated', ret)
|
this.dispatch('updated', ret)
|
||||||
}
|
}
|
||||||
download(){
|
download(){
|
||||||
|
@ -121,7 +121,7 @@ bricks.buildBind = function(w, desc){
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
var event = desc.event;
|
var event = desc.event;
|
||||||
buildEventBind(w, widget, event, desc);
|
bricks.buildEventBind(w, widget, event, desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
bricks.buildEventBind = function(from_widget, widget, event, desc){
|
bricks.buildEventBind = function(from_widget, widget, event, desc){
|
||||||
|
@ -8,7 +8,7 @@ SOURCES=" factory.js uitypesdef.js utils.js i18n.js widget.js \
|
|||||||
miniform.js wterm.js "
|
miniform.js wterm.js "
|
||||||
echo ${SOURCES}
|
echo ${SOURCES}
|
||||||
cat ${SOURCES} > ../dist/bricks.js
|
cat ${SOURCES} > ../dist/bricks.js
|
||||||
uglifyjs --compress --mangle -- ../dist/bricks.js > ../dist/bricks.min.js
|
# uglifyjs --compress --mangle -- ../dist/bricks.js > ../dist/bricks.min.js
|
||||||
if [ ! -d ../dist/css ];then
|
if [ ! -d ../dist/css ];then
|
||||||
rm -rf ../dist/css
|
rm -rf ../dist/css
|
||||||
mkdir ../dist/css
|
mkdir ../dist/css
|
||||||
|
@ -239,7 +239,10 @@ bricks.TextBase = class extends bricks.JsWidget {
|
|||||||
if (! this.i18n){
|
if (! this.i18n){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this.text = this._i18n._(this.otext);
|
this.set_text(this.otext);
|
||||||
|
}
|
||||||
|
set_text(text){
|
||||||
|
this.text = text;
|
||||||
this.dom_element.innerHTML = this.text;
|
this.dom_element.innerHTML = this.text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user