diff --git a/entry/src/main/ets/entryability/EntryAbility.ets b/entry/src/main/ets/entryability/EntryAbility.ets index a9c6343263d842ff073d9ae054ed1380e9235dc4..b4f15b21d92285b016651c52599b13b65171d5a9 100644 --- a/entry/src/main/ets/entryability/EntryAbility.ets +++ b/entry/src/main/ets/entryability/EntryAbility.ets @@ -32,7 +32,12 @@ export default class EntryAbility extends UIAbility { // Main window is created, set main page for this ability hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); - windowStage.getMainWindowSync().setWindowKeepScreenOn(true); + try { + windowStage.getMainWindowSync().setWindowKeepScreenOn(true); + } catch (error) { + let err = error as BusinessError; + hilog.error(0xFF00, 'AVCodecBufferMode', `setWindowKeepScreenOn fail, code = ${err.code}, message = ${err.message}`); + } windowStage.loadContent('pages/Index', (err) => { if (err.code) { hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); diff --git a/entry/src/main/ets/pages/Index.ets b/entry/src/main/ets/pages/Index.ets index b842f3a2a1a1f1a009e4a9e3d504532e302cc64d..7a387cbd6c7251c7874c38c55d1b2e1d9a6d571e 100644 --- a/entry/src/main/ets/pages/Index.ets +++ b/entry/src/main/ets/pages/Index.ets @@ -20,6 +20,8 @@ import { VideoDataModel } from '../model/VideoDataModel'; import { fileIo } from '@kit.CoreFileKit'; import transcoding from 'libtranscoding.so'; import { formatVideoTime } from '../common/utils/TimeUtils'; +import { hilog } from '@kit.PerformanceAnalysisKit'; +import { BusinessError } from '@kit.BasicServicesKit'; @Entry @Component @@ -228,17 +230,22 @@ struct Index { } transcoding() { - this.getUIContext().getHostContext()?.resourceManager.getRawFd('video_sample.mp4').then((inputDesc) => { - let outputFile = fileIo.openSync(this.getUIContext().getHostContext()?.cacheDir + '/transcoding.mp4', - fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE); - this.isTranscoding = true; - transcoding.startNative(inputDesc.fd, outputFile.fd, inputDesc.offset, inputDesc.length, - this.videoDataModel.videoCodecMime, this.videoDataModel.frameRate, this.videoDataModel.bitRate, - () => { - this.isTranscoding = false; - this.dialogController.close(); - this.pageStack.pushPathByName('VideoPlayer', ''); - }) - }); + try { + this.getUIContext().getHostContext()?.resourceManager.getRawFd('video_sample.mp4').then((inputDesc) => { + let outputFile = fileIo.openSync(this.getUIContext().getHostContext()?.cacheDir + '/transcoding.mp4', + fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE); + this.isTranscoding = true; + transcoding.startNative(inputDesc.fd, outputFile.fd, inputDesc.offset, inputDesc.length, + this.videoDataModel.videoCodecMime, this.videoDataModel.frameRate, this.videoDataModel.bitRate, + () => { + this.isTranscoding = false; + this.dialogController.close(); + this.pageStack.pushPathByName('VideoPlayer', ''); + }) + }); + } catch (error) { + let err = error as BusinessError; + hilog.error(0xFF00, 'AVCodecBufferMode', `transcoding fail, code = ${err.code}, message = ${err.message}`); + } } } \ No newline at end of file