package Ġcom . cri ms on . record Ċ Ċ import Ġandroid . Manifest Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . core . app . Activity Compat Ċ import Ġcom . cri ms on . baidu _ asr _ library . impl . BD Online Record Impl Ċ import Ġcom . cri ms on . record . data . Record Node Data Ċ import Ġcom . cri ms on . record . notification . Record Notification Ċ import Ġcom . cri ms on . record . view . I Recorder Ċ import Ġkotlinx . android . synt hetic . main . activity _ main .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġval Ġnotify Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠRecord Notification ( this , this :: class . java ) Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. small Icon () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. large Icon () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. recording Title () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ. pause Title () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĊĠĠĠĠĠĠĠ ĠActivity Compat . request Permissions ( this , ĊĠĠĠĠĠĠĠĠĠĠĠĠ ĠarrayOf ( Manifest . permission . WRITE _ EXTERNAL _ STORAGE , Manifest . permission . RECORD _ AUDIO , Manifest . permission . READ _ PHONE _ STATE ), Ġ 0 ) ĊĊĠĠĠĠĠĠĠ Ġrv _ view . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// è®¾ç½® æľī ç½ĳ çĬ¶æĢģ ä¸ĭ å½ķ éŁ³ å®ŀçİ° ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Online Record ( BD Online Record Impl ( context )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// è®¾ç½® æľī ç½ĳ åĪĩ åī² æĹ¶éĹ´ éĹ´ éļĶ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Online Clip Time ( 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// è®¾ç½® æľ¬åľ° åĪĩ åī² æĹ¶éĹ´ éĹ´ éļĶ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Local Clip Time ( 1 5 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// è®¾ç½® å½ķ éŁ³ æ¨¡å¼ı ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset Record Mode ( I Recorder . Record Mode . ON LINE ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// çĽĳåĲ¬ åĻ¨ è®¾ç½® ĊĠĠĠĠĠĠĠĠĠĠĠ Ġset CallBack Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Changed CallBack Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" status Ġ-> Ġ${ it . toString () }") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ Ġbtn _ rec . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrv _ view . start Record () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify . show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbtn _ pause . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrv _ view . pause Record () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnotify . pause () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġbtn _ complete . setOnClickListener Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnodes Ġ= Ġrv _ view . complete Record () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( nodes Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUtils . nodes . addAll ( nodes ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġintent Ġ= ĠIntent ( this , ĠPlay Activity :: class . java ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra (" time ", rv _ view . total Time ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput Extra (" height ", rv _ view . total Height ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠstartActivity ( intent ) ĊĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Destroy () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Destroy () ĊĠĠĠĠĠĠĠ Ġrv _ view . release () ĊĠĠĠĠĠĠĠ Ġnotify . release () ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ object ĠUtils { ĊĊĠĠ Ġval Ġnodes Ġ= Ġarray ListOf < Record Node Data >() Ċ Ċ } Ċ