CN116682465A - 记录内容的方法和电子设备 - Google Patents

记录内容的方法和电子设备 Download PDF

Info

Publication number
CN116682465A
CN116682465A CN202211350637.4A CN202211350637A CN116682465A CN 116682465 A CN116682465 A CN 116682465A CN 202211350637 A CN202211350637 A CN 202211350637A CN 116682465 A CN116682465 A CN 116682465A
Authority
CN
China
Prior art keywords
recording
content
app
note
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211350637.4A
Other languages
English (en)
Inventor
范明超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202211350637.4A priority Critical patent/CN116682465A/zh
Publication of CN116682465A publication Critical patent/CN116682465A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/686Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title or artist information, time, location or usage information, user ratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/165Management of the audio stream, e.g. setting of volume, audio stream path
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/20Driving; Starting; Stopping; Control thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/10537Audio or video recording
    • G11B2020/10546Audio or video recording specifically adapted for audio data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例提供了一种记录内容的方法和电子设备,电子设备包括第一应用程序APP,第一APP用于录音和记录用户输入的内容,该方法包括:启动第一APP;通过第一APP接收启动指令,启动指令用于指示启动***内录音操作,***内录音操作是指录制电子设备的***内的音频;响应于启动指令,执行***内录音操作。本申请实施例提供的方法能够实现第一APP的***内录音功能,提高用户体验。

Description

记录内容的方法和电子设备
技术领域
本申请涉及电子技术领域,具体涉及一种记录内容的方法和电子设备。
背景技术
笔记应用程序(application,APP)是用户常用的APP。目前,很多笔记APP在实现记录文本内容的同时,还能够实现录音,这样能够满足用户在课堂学习、参加发布会等使用场景下的需求。
然而,在某些场景下,笔记APP的录音效果并不理想,影响用户体验。
发明内容
本申请提供了一种记录内容的方法和电子设备,能够实现笔记APP的***内录音功能,提高笔记APP的录音效果,进而提高用户体验。
第一方面,本申请提供一种记录内容的方法,该方法由电子设备执行,电子设备包括第一应用程序APP,第一APP用于录音和记录用户输入的内容,该方法包括:启动第一APP;通过第一APP接收启动指令,启动指令用于指示启动***内录音操作,***内录音操作是指录制电子设备的***内的音频;响应于启动指令,执行***内录音操作。
可选的,第一APP可以为笔记APP、备忘录APP或其他能够实现录音和记录用户输入内容的APP,本申请对于第一APP的具体类型不做任何限定。
电子设备可以响应于用户的启动第一APP的操作,或者响应于用户在其他APP中的相关操作(例如分享内容至第一APP的操作)等,启动第一APP。根据实际应用场景的不同,启动第一APP后,第一APP可以运行于后台,不显示界面,也可以以悬浮窗、悬浮球或者全屏显示、分屏显示等方式显示第一APP的界面,本申请对此不做任何限定。
第一APP能够接收用于指示启动***内录音操作的启动指令。可选的,第一APP可以通过其界面接收用户输入的启动指令,例如,通过界面中的启动***内录音的控件接收用户的启动指令。可选的,第一APP也可以通过电子设备中其他模块或其他APP发送的启动指令。可选的,在一些场景下,电子设备也可以按照预设的启动逻辑,在启动笔记APP时自动生成启动指令。
第一方面提供的记录内容的方法中,在启动第一APP后,能够通过第一APP接收启动指令,而且,电子设备能够响应于启动指令,执行***内录音操作。如此,第一APP能够实现***内录音功能。这样,在用户一边通过其他APP播放音频,一边通过第一APP录音的场景下,通过第一APP的***内录音功能能够消除周围的环境音以及播放时扬声器等产生的杂音和噪音等,提高录音效果,同时也解决了通过耳机听音频时无法录音的问题,提高用户体验。
一种可能的实现方式中,执行***内录音操作,包括:当确定电子设备的***内存在处于播放状态的音频时,执行***内录音操作。
也就是说,电子设备在***内播放音频时,执行***内录音操作;在***内未播放音频时,不执行***内录音操作。这样能够减少录制的音频中的空白录音,一方面使录制的音频不会过大,节约电子设备存储空间;另一方面在播放录制的音频时,不存在空白录音,无需用户调整播放进度,提高用户体验。
一种可能的实现方式中,电子设备还包括媒体播放器,该方法还包括:若确定媒体播放器中存在已实例化的第一对象,且媒体播放器中存在音频流,则确定电子设备的***内存在处于播放状态的音频。
媒体播放器在播放音频或视频时,需要对对象进行实例化,而且,播放音频或视频时,媒体播放器中存在音频流。因而,通过确定媒体播放器中是否存在音频流和已实例化的对象,能够快速、准确的确定***中是否存在处于播放状态的音频,进而能够准确的去除空白录音。
一种可能的实现方式中,执行***内录音操作之前,该方法还包括:对第一APP进行权限校验,权限校验用于确定电子设备中是否存在用户授权信息,以及第一APP是否满足预设条件,用户授权信息用于表征用户同意电子设备执行***内录音操作;若权限校验通过,则执行***内录音操作;若权限校验未通过,且确定不存在用户授权信息,则显示申请授权信息,申请授权信息用于申请用户授权信息。
也就是说,在启动***内录音操作之前,首先要确定第一APP是否具有获取***内录音的权限。具体的,一方面,确定电子设备中是否存在用户授权信息;另一方面,确定请求执行***内录音操作的APP(第一APP)是否满足预设条件。若电子设备中存在用户授权信息,且第一APP满足预设条件,则权限校验通过,否则权限校验未通过。可选的,预设要求例如可以为:APP的捕获政策为AudioAttributes.ALLOW_CAPTURE_BY_ALL。
当因不存在用户授权信息而导致权限校验时,电子设备显示申请授权信息。具体的,电子设备可以以弹窗的形式显示申请授权信息,以向用户申请授权。
一种可能的实现方式中,显示授权信息之后,该方法还包括:接收用户输入的用户授权信息,返回执行步骤对第一APP进行权限校验。
该实现方式中,通过对第一APP进行权限校验,提高了***内录音操作的安全性和可靠性,同时也能够保护用户隐私,提高用户体验。
可选的,接收用户输入的用户授权信息后,电子设备还可以对用户授权信息进行保存。如此,后续在进行权限校验时,无需重复向用户申请授权,减少对用户的打扰,提高用户体验。
一种可能的实现方式中,该方法还包括:显示第一APP的界面,第一APP的界面中包括内容输入区域;执行***内录音操作的过程中,在录制时长为第一时长时,响应于用户在内容输入区域输入第一内容的操作,保存第一内容,并根据第一时长和第一内容的输入位置,生成映射关系信息。
可选的,电子设备可以直接根据第一时长和第一内容的输入位置生成映射关系信息,也可以根据第一时长和/或第一内容的输入位置,生成其他信息,再根据生成的信息生成映射关系信息。本申请对于映射关系信息中具体的参数不做任何限定,只要能够表征录音时长和内容的输入位置的映射关系即可。
该实现方式中,通过保存第一内容,并生成映射关系信息,后续在播放录制的音频时,当音频播放至第一时长时,能够根据映射关系信息,确定第一时长对应的第一内容,进而显示第一内容。而且,当用户选中第一内容时,也可以根据映射关系信息,确定第一内容的输入位置对应的第一时长,将音频跳转至第一时长处。如此,能够实现录音播放与内容显示的双向定位,进一步提高用户体验。
在一个具体的实施例中,保存第一内容,并根据第一时长和第一内容的输入位置,生成映射关系信息,包括:基于超文本标记语言HTML,生成第一内容对应的第一HTML标签;保存第一内容和第一HTML标签;根据第一HTML标签确定第一位置信息,第一位置信息表征第一内容在HTML页面中的位置;根据第一时长和第一位置信息生成映射关系信息。
该实现方式中,基于HTML语言生成第一内容对应的第一HTML标签,保存第一内容和第一HTML标签。基于第一HTML标签生成第一位置信息,进而根据第一位置信息生成映射关系信息。HTML语言在不同***的电子设备中均遵循相同的解析协议,可以实现跨***的数据互通。因而本实施例提供的方法中,通过HTML语言记录的笔记内容和映射关系信息在其他***的电子设备也能够被识别,所以该方法保存的第一内容和第一HTML标签以及映射关系信息,在其他***中也能够被识别,因而能够跨***实现录音播放与笔记内容显示的双向定位,提高用户体验。
一种可能的实现方式中,该方法还包括:响应于用户的暂停录音操作,停止执行***内录音操作,得到录音音频;确定电子设备的界面中与第一APP同时显示的第二APP的信息;根据第二APP的信息,显示提示信息,提示信息用于提示用户保存第二APP的信息。
可选的,第二APP为用于播放音频或视频的APP。
第一APP与第二APP同时显示于同一界面,说明第一APP录制的***内的音频可能为第二APP播放的,即第二APP播放的音频可能为录音音频的对应的原始音频。因而,在暂停录音时,电子设备显示提示信息,以提示用户保存第二APP的相关信息,也即保存原始音频的信息。
可选的,提示信息可以具体用于提醒用户保存第二APP当前展示的页面信息、正在播放的音频或视频的标题等。其中,页面信息例如可以为页面的链接信息(如统一资源***(uniform resource locator,URL)等。
该实现方式中,通过显示提示信息,增加与用户的交互,进一步提高用户体验。
一种可能的实现方式中,该方法还包括:电子设备的界面中包括第一窗口和第二窗口,第一窗口中显示第一APP的界面,第二窗口中显示第二APP的界面。
换句话说,第一APP运行于第一窗口,第二APP运行于第二窗口。也就是说,第一APP和第二APP多窗口显示。这样,便于用户一边使用第二APP,一边通过第二APP录音和记录内容。例如,用户一边通过视频播放APP播放视频,一边通过笔记APP录制视频的声音和记录内容。
一种可能的实现方式中,该方法还包括:第一窗口和第二窗口中的一个窗口悬浮显示;或者,第一窗口和第二窗口并列显示。
也就是说,第一窗口和第二窗口可以以任一种多窗口形式显示。可选的,并列显示可以分屏显示。
该实现方式中,第一窗口和第二窗口以多窗口形式显示能够减少遮挡,提高显示效果。
一种可能的实现方式中,启动第一APP,包括:响应于用户在第一页面中进行的分享操作,启动第一APP,并显示第一APP的界面;分享操作用于指示将第一页面分享至第一APP,第一APP的界面中包括内容输入区域;将第一页面的链接信息写入内容输入区域。
可选的,第一页面可以为浏览器中的页面,也可以为其他APP中的页面。第一页面的链接信息可以为第一页面的URL。可选的,当用户在第一页面中点击分享控件时,第一页面中可以显示对象选择卡片。对象选择卡片用于用户选择分享对象。当用户点击对象选择卡片中的笔记APP的选项时,电子设备显示启动第一APP,并显示第一APP的界面。
该实现方式中,当用户在页面中进行分享操作时,电子设备直接获取该页面的链接信息,并将该链接信息写入内容输入区域,这样在后续查看的记录内容时,便于用户获知记录的内容的来源,从而便于用户追溯第一页面,提高用户体验。
一种可能的实现方式中,启动第一APP,包括:响应于用户在第二页面中进行的复制链接操作,复制第二页面的链接信息,并显示分屏控件;响应于用户点击分屏控件,启动第一APP,并将第二页面与第一APP分屏显示,第一APP的界面中包括内容输入区域;将第二页面的链接信息写入内容输入区域。
可选的,第二页面可以为浏览器中的页面,也可以为其他APP中的页面。可选的,分屏控件可以悬浮显示第二页面之上。分屏控件例如可以为分屏悬浮球。
一般的,用户复制信息时,大概率会对复制的信息进行粘贴、记录。该实现方式中,在用户进行复制链接操作时,认为用户要大概率需要通过第一APP记录内容,因而直接显示分屏控件。用户通过分屏控件可以简单、快速的实现第一APP界面和第二APP界面的分屏显示。这样便于用户打开第一APP记录内容,提高用户体验。同时,在打开第一APP后,电子设备自动将复制的第二页面的链接信息写入内容区域,无需用户执行粘贴操作,且便于用户获知记录的内容的来源,进一步提高用户体验。
一种可能的实现方式中,启动第一APP之后,该方法还包括:生成启动指令。
该实现方式中,在用户进行复制链接的操作的情况下,电子设备自动生成启动指令。这样,在启动第一APP之后能够自动启动***内录音操作,无需用户手动操作,提高用户体验。
一种可能的实现方式中,电子设备的***包括应用程序层和应用程序框架层,第一APP位于应用程序层,电子设备还包括录音模块,录音模块位于应用程序架构层,执行***内录音操作,包括:录音模块执行***内录音操作。
一种可能的实现方式中,录音模块执行***内录音操作,包括:录音模块构建第二对象,并向第二对象添加配置参数,配置参数指示第二对象对应的录音操作为***内录音操作;录音模块基于第二对象执行***内录音操作。
一种可能的实现方式中,电子设备还包括媒体播放器,媒体播放器位于应用程序框架层,录音模块基于第二对象执行***内录音操作之前,该方法还包括:第一APP向录音模块发送第一标记,第一标记用于指示在确定电子设备的***内存在处于播放状态的音频的情况下,执行***内录音操作;录音模块基于第二对象执行***内录音操作,包括:录音模块根据第一标记,在确定媒体播放器中存在已实例化的第一对象,且媒体播放器中存在音频流的情况下,基于第二对象执行***内录音操作。
第二方面,本申请提供一种装置,该装置包含在电子设备中,该装置具有实现上述第一方面及上述第一方面及上述第一方面的可能实现方式中电子设备行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块或单元。例如,接收模块或单元、处理模块或单元等。
第三方面,本申请提供一种电子设备,电子设备包括:处理器、存储器和接口;处理器、存储器和接口相互配合,使得电子设备执行第一方面的技术方案中任意一种方法。
第四方面,本申请提供一种芯片,包括处理器。处理器用于读取并执行存储器中存储的计算机程序,以执行第一方面及其任意可能的实现方式中的方法。
可选的,芯片还包括存储器,存储器与处理器通过电路或电线连接。
进一步可选的,芯片还包括通信接口。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得该处理器执行第一方面的技术方案中任意一种方法。
第六方面,本申请提供一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码在电子设备上运行时,使得该电子设备执行第一方面的技术方案中任意一种方法。
附图说明
图1是本申请实施例提供的一例电子设备100的结构示意图;
图2是本申请实施例提供的一例电子设备100的软件结构框图;
图3是本申请实施例提供的一例启动***内录音功能的过程的界面变化示意图;
图4是本申请实施例提供的另一例启动***内录音功能的过程的界面变化示意图;
图5是本申请实施例提供的又一例启动***内录音功能的过程的界面变化示意图;
图6是本申请实施例提供的又一例启动***内录音功能的过程的界面变化示意图;
图7是本申请实施例提供的又一例启动***内录音功能的过程的界面变化示意图;
图8是本申请实施例提供的又一例***内录音功能的申请授权界面示意图;
图9是本申请实施例提供的一例音频录制过程的时序流程示意图;
图10是本申请实施例提供的一例文本键入模式下笔记生成过程的界面变化示意图;
图11是本申请实施例提供的一例笔记内容写入过程的时序流程示意图;
图12是本申请实施例提供的一例通过笔记界面***图片的界面变化示意图;
图13是本申请实施例提供的一例文本键入模式下笔记停止过程的界面变化示意图;
图14是本申请实施例提供的一例笔记停止过程的时序流程示意图;
图15是本申请实施例提供的一例共享笔记的应用场景示意图;
图16是本申请实施例提供的一例在平板电脑中顺序呈现笔记的过程的界面变化示意图;
图17是本申请实施例提供的一例笔记顺序呈现过程的时序流程示意图;
图18是本申请实施例提供的一例播放进度跳转的界面变化示意图;
图19是本申请实施例提供的一例播放进度跳转过程的时序流程示意图;
图20是本申请实施例提供的一例笔记内容跳转的界面变化示意图;
图21是本申请实施例提供的一例播放进度跳转过程的时序流程示意图;
图22是本申请实施例提供的一例手写输入模式下笔记生成过程的界面变化示意图;
图23是本申请实施例提供的一例手写内容输入过程中的时序流程示意图;
图24是本申请实施例提供的另一例笔记顺序呈现过程的时序流程示意图;
图25是本申请实施例提供的另一例播放进度跳转过程的时序流程示意图;
图26是本申请实施例提供的另一例笔记内容跳转过程的时序流程示意图;
图27是本申请实施例提供的一例笔记分享过程的界面变化示意图;
图28是本申请实施例提供的一例笔记格式转换的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。其中,在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,在本申请实施例的描述中,“多个”是指两个或多于两个。
以下,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括一个或者更多个该特征。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本申请说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
为了便于理解,首先对申请实施例中涉及的术语及概念进行说明。
1、***内录音
***内录音也称为***录音,是指录制电子设备***内的声音(音频)。***内录音与***外录音相对。***外录音也称为麦克风录音,是指通过麦克风录制电子设备外部的声音(音频)。
2、录音文件
录音文件是指通过笔记APP录制的音频文件。
3、输入模式
本申请实施例中,笔记APP的界面(以下简称笔记界面)可以包括内容输入区域,内容输入区域用于用户输入笔记内容。用户在内容输入区域输入笔记内容时,输入模式主要分为手写输入模式和非手写输入模式。手写输入模式是指用户通过手指或手写笔在内容输入区域进行书写的输入模式。非手写输入模式是指除手写输入模式之外的输入模式。可选的,非手写输入模式可以包括文本键入模式、图片输入模式、音频输入模式、视频输入模式、表格输入模式等。其中,文本键入模式是指通过软键盘输入文本内容的模式。
4、笔记内容
笔记内容是指用户通过笔记APP的界面输入的内容,也称为输入内容或记录内容。本申请实施例中,根据输入时笔记APP所处的输入模式的不同,笔记内容可以分为超文本标记语言(hyper text markup language,HTML)元素和手写内容,即笔记内容的内容类型包括HTML元素和手写内容。HTML元素是指在非手写输入模式下输入的,能够通过HTML语音识别和读取的内容。对应于非手写输入模式的类型,HTML元素的类型可以包括文本元素、图片元素、音频元素、视频元素、表格元素等。其中,图片元素可以为静态图片元素,也可以为图形交换格式(graphic interchange format,GIF)动态图片元素。本申请下述实施例中,HTML主要以第5代HTML(也称为HTML5.0,以下简称H5)为例进行说明,因而以下HTML元素均以H5元素(或简称为元素)为例进行说明。
本申请实施例中,H5元素中包含的信息可以包括H5元素内容、H5元素内容的输入位置、H5元素内容的属性、H5元素内容的格式等。H5元素内容是指用户输入的内容或信息本身,例如文本“abc”本身,或者图片本身等。H5元素内容的输入位置是指用户输入H5元素内容的位置。H5元素内容的属性是指H5元素内容所属的分类,例如标题、正文等。H5元素内容的格式是指H5元素内容在输入或显示时呈现的格式,例如字体样式、字体大小、显示样式(颜色、背景色等)等。
手写内容是指在手写输入模式下手写输入的内容。手写内容中包含的信息可以包括手写笔画、手写笔画的输入位置、手写笔画的属性、手写笔画的格式等。手写内容中包含的信息的含义与上述H5元素中包含的信息的含义类似,不再赘述。本申请实施例中,一笔手写笔画对应于一组触摸事件,一组触摸事件中包括一个按下(down)事件、一个移动(move)事件和一个抬起(up)事件。另外,本申请实施例中,手写内容中包含的信息还可以包括手写笔画的落笔时刻等。其中,落笔时刻可以为该手写笔画对应的down事件的发生时刻。
5、内容文件
内容文件是指笔记内容形成的文件,也称为笔记内容文件或记录文件等。
学生课堂学习、记者参加发布会等应用场景下,笔记APP能够使用户在录音的同时快速记录关键内容,满足用户的使用需求。然而,在一些场景,例如学生网课学习,或者视频会议等场景下,若用户使用电子设备的扬声器播放音频,再通过笔记APP进行录音时,难以消除播放杂音、噪音等,导致录音效果较差。而且,若用户通过耳机听音频,则无法通过笔记APP进行录音。总而言之,在一些使用场景下,笔记APP无法满足用户的使用需求,影响用户体验。
有鉴于此,本申请实施例提供的记录内容的方法中,笔记APP具有***内录音功能,该功能能够消除周围的环境音以及播放时扬声器产生的杂音和噪音等,提高录音效果,同时也解决了通过耳机听音频时无法录音的问题,提高用户体验。
另外,本申请实施例提供的记录内容的方法,在录音的过程中,当用户输入笔记内容时,记录笔记内容,且生成笔记内容与输入该笔记内容时的录音时长的映射关系信息。这样,后续在播放录音时,能够根据映射关系信息,同步显示与播放时长对应的笔记内容;且用户点击某位置的笔记内容时,录音能够跳转至对应的播放时长处。也就是说,后续能够实现录音播放与笔记内容显示的双向定位,便于用户查看笔记,进一步提高用户体验。
而且,本申请实施例提供的记录内容的方法,基于HTML语言(后续以H5为例)进行编辑,将用户输入的笔记内容以H5页面形式显示并保存,且生成相对时间与H5位置信息的映射关系信息。其中,相对时间根据输入笔记内容时的录音时长确定,H5位置信息表征笔记内容在H5页面中的位置。H5语言在不同***的电子设备中均遵循相同的解析协议,可以实现跨***的数据互通。因而基于H5语言记录的笔记内容和映射关系信息在其他***的电子设备也能够被识别,所以能够跨***实现双向定位功能。
本申请实施例提供的记录内容的方法可以应用于手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)等可以安装应用程序的电子设备上,本申请实施例对电子设备的具体类型不作任何限制。
示例性的,图1是本申请实施例提供的一例电子设备100的结构示意图。电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universalserial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。在一些无线充电的实施例中,充电管理模块140可以通过电子设备100的无线充电线圈接收无线充电输入。充电管理模块140为电池142充电的同时,还可以通过电源管理模块141为电子设备供电。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频模块170还可以用于对音频信号编码和解码。在一些实施例中,音频模块170可以设置于处理器110中,或将音频模块170的部分功能模块设置于处理器110中。
扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。电子设备100可以通过扬声器170A收听音乐,或收听免提通话。
受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。当电子设备100接听电话或语音信息时,可以通过将受话器170B靠近人耳接听语音。
麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。当拨打电话或发送语音信息时,用户可以通过人嘴靠近麦克风170C发声,将声音信号输入到麦克风170C。电子设备100可以设置至少一个麦克风170C。在另一些实施例中,电子设备100可以设置两个麦克风170C,除了采集声音信号,还可以实现降噪功能。在另一些实施例中,电子设备100还可以设置三个,四个或更多麦克风170C,实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。
耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。电容式压力传感器可以是包括至少两个具有导电材料的平行板。当有力作用于压力传感器180A,电极之间的电容改变。电子设备100根据电容的变化确定压力的强度。当有触摸操作作用于显示屏194,电子设备100根据压力传感器180A检测触摸操作强度。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。在一些实施例中,作用于相同触摸位置,但不同触摸操作强度的触摸操作,可以对应不同的操作指令。例如:当有触摸操作强度小于第一压力阈值的触摸操作作用于短消息应用图标时,执行查看短消息的指令。当有触摸操作强度大于或等于第一压力阈值的触摸操作作用于短消息应用图标时,执行新建短消息的指令。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。电子设备100可以接收按键输入,产生与电子设备100的用户设置以及功能控制有关的键信号输入。
本申请实施例中,电子设备100的软件***可以为Android***,可以为Windows***,还可以为IOS***等,本申请对此不做任何限定。电子设备100的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android***为例,示例性说明电子设备100的软件结构。
图2是本申请实施例的电子设备100的软件结构框图。分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和***库,以及内核层。应用程序层可以包括一系列应用程序包。
如图2所示,应用程序包可以包括笔记APP、浏览器APP、音频APP、视频APP和网课APP等。当然,应用程序包还可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,短信息等应用程序(图2中未示出)。
本实施例中,笔记APP可以包括用户界面(user interface,UI)层、逻辑控制层和应用内核层。其中,UI层可以包括界面模块。界面模块用于显示笔记APP运行过程中的界面,以及接受用户通过笔记界面输入的指令或信息。可选的,界面模块可以通过调用应用程序架构层的相关模块实现其功能。可选的,笔记界面中可以包括录音控件、手写控件、图片控件、内容输入区域、录音进度控件、录音播放控件等中的一种或多种。其中,内容输入区域用于输入H5元素或手写内容等。笔记界面的具体内容将在后续实施例中结合附图进行说明。
逻辑控制层可以包括录音与播放控制模块。在笔记生成过程中,录音与播放控制模块主要用于控制应用程序架构层中的录音模块,以获取音频流,从而生成录音文件。在笔记呈现(即播放录音并同步显示笔记内容)过程中,录音与播放控制模块还用于实现对录音文件的播放。
应用内核层可以包括H5编辑器和存储模块。当笔记内容为H5元素时,在笔记生成过程中,H5编辑器用于基于H5语言将用户输入的H5元素编辑、显示并保存至内容文件。具体的,H5编辑器通过H5标签(以下简称标签)记载H5元素内容,并标记H5元素内容的信息,例如,通过标签锚定H5元素内容在H5页面中的位置等。另外,H5编辑器还用于根据输入H5元素时的录音时长确定H5相对时间,并根据该H5元素对应的标签确定H5位置信息。H5位置信息表征标签中记载的H5元素内容在H5页面中的位置。H5编辑器生成H5相对时间与H5位置信息的映射关系信息。在笔记呈现过程中,H5编辑器可以用于读取内容文件并预显示内容文件中所有笔记内容,并根据映射关系信息,确定是否存在与当前播放时长匹配的H5相对时间(称为目标H5相对时间);若存在,则确定目标H5相对时间对应的目标H5位置信息,将内容文件中与目标H5位置信息匹配的元素内容突出显示,以实现录音播放与H5元素显示的双向相位。可选的,H5编辑器可以基于java脚本(java script,JS)轮询机制轮询查找,以确定是否存在与当前播放时长匹配的目标H5相对时间。
另外,本申请实施例中的H5编辑器还可以内嵌手写编辑器(图未示),因而该H5编辑器还能够实现手写内容的输入和显示。具体的,当笔记内容为手写内容时,在笔记生成过程中,H5编辑器用于将用户输入的手写内容编辑、显示,并保存至内容文件。另外,H5编辑器还用于记录录音开始时刻和每一笔手写笔画的落笔时刻。在笔记呈现过程中,H5编辑器用于根据录音开始时刻和每一笔手写笔画的落笔时刻,确定每一笔手写笔画的手写相对时间,在当前播放时长与某一个手写相对时间(称为目标手写相对时间)匹配时,突出显示目标手写相对时间对应的手写笔画,以实现录音播放与手写内容显示的双向相位。
存储模块用于存储笔记APP中其他模块产生的文件或数据,例如,存储录音与播放控制模块生成的录音文件,或者存储H5编辑器生成的内容文件和映射关系信息等。
需要说明的是,应用内核层中的H5编辑器也可以是其他版本的HTML的编辑器,例如,HTML4.0、HTML3.0,本申请实施例对于HTML编辑器的版本不做限定。为了便于描述,下述均以H5编辑器为例进行说明。
音频APP是指播放音频的APP。视频APP是指用于播放视频的APP。网课APP是指用于网课学习的APP。本实施例中所述的音频APP、视频APP和网课APP均是指能够实现对应功能的APP,对于具体的APP产品不作任何限定。例如,网课APP可以为也可以为企业还可以为/>等APP。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图2所示,应用程序框架层可以包括媒体播放器(media player)、页面管理服务(activity manager service,AMS)、包管理服务(package management service,PMS)、窗口管理服务(window manager service,WMS)、录音模块和分享模块等。
媒体播放器用于播放视频文件,或者是音频文件。媒体播放器在播放视频文件或音频文件时,首先需要进行对象实例化(简称实例化),之后获取音频流并播放。
AMS也称为活动管理服务,用于管理activity,以实现页面的显示、关闭和切换等。
PMS用于管理***中的应用程序的安装包(如jar包或apk包),负责***权限,并负责应用程序或服务的安装、卸载、更新和解析等。PMS在管理安装包时,可以通过扫描Android***中目标文件夹的安装包,建立安装包的映射数据结构来管理安装包的信息,例如管理安装包的名称等。通过安装包的名称可以确定对应的应用程序的名称。
WMS也称为窗口管理器,用于管理窗口程序。WMS可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。本申请实施例中,可以通过WMS在显示屏实现多窗口显示。多窗口显示可以包括多个窗口并列显示,多个窗口中可以运行多个不同的应用程序,即实现多个应用程序的分屏显示。另外,多窗口显示还可以包括多个窗口中的至少一个窗口悬浮显示。悬浮窗中可以运行有应用程序,即实现应用程序以悬浮窗形式显示。
录音模块也称为音频录制器(audio record),用于录制音频。可选的,应用程序层的应用程序可以通过函数调用录音模块进行录音。
分享模块用于根据用户在页面中的选择,将网页或内容分享至对应的应用程序。
当然,除了以上模块之外,应用程序框架层还可以包括内容提供器,视图***,电话管理器,资源管理器,通知管理器等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图***包括可视控件,例如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在***顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android runtime包括核心库和虚拟机。Android runtime负责安卓***的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(media libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
为了便于理解,本申请以下实施例将以具有图1和图2所示结构的电子设备为例,结合附图和应用场景,对本申请实施例提供的记录内容的方法进行具体阐述。
本申请实施例提供的记录内容的方法,在浏览器APP、音频APP、视频APP或者网课APP等播放音频或者视频时,可以启动笔记APP及其***内录音功能,获取***内音频流,从而提高录音效果。下面结合具体的应用场景,对启动笔记APP的***内录音功能的几种方法进行说明。
1、操作窗口的方式启动笔记APP及其***内录音功能。
以通过网课APP学习的场景为例,用户可以通过操作窗口的方式将网课APP和笔记APP以多窗口方式显示,以便于一边通过网课APP观看视频,一边通过笔记APP输入笔记内容。另外,用户可以启动***内录音功能,以获取***内音频流,实现对播放的音频录音,且提高录音效果。
通过操作窗口的方式实现的多窗口形式主要包括分屏显示和悬浮窗:
(1)分屏显示
示例性的,图3为本申请实施例提供的一例启动***内录音功能的过程的界面变化示意图。以电子设备为手机为例,如图3中的(a)图所示,用户已启动网课APP,且网课APP全屏显示。全屏窗口顶部可以包括顶部横条(bar)301。可选的,用户可以通过拖动顶部bar301并向左侧或右侧移动,将全屏窗口切换为分屏。且若用户的拖动方向向左,则切换分屏后,网课APP显示于左侧窗口,若用户的拖动方向向右,则切换分屏后,网课APP显示于右侧窗口。
以用户向左拖动顶部bar301为例,响应于用户的拖动操作,全屏显示的网课APP被分屏显示至左侧窗口,之后,用户可以在右侧窗口中打开笔记APP。如此,实现了网课APP与笔记APP的分屏显示,如图3中的(b)图所示。
当然,在电子设备支持的情况下,用户也可以通过其他的方式实现分屏,本申请实施例对此不做任何限定。
笔记APP的界面中可以包括录音控件302。用户点击录音控件302,界面跳转至图3中的(c)图所示的界面。该界面中包括录音类型选项卡片303。录音类型选项卡片303中包括***内录音选项304。
响应于用户点击***内录音选项304,笔记APP启动***内录音功能,此时界面如图3中的(d)图所示。
图3中以网课APP先启动,笔记APP后启动为例,对分屏显示时启动笔记APP及其***内录音功能的过程进行了说明。可以理解,对于笔记APP先启动,网课APP后启动的过程与此类似,不再赘述。
(2)悬浮窗
示例性的,图4为本申请实施例提供的另一例启动***内录音功能的过程的界面变化示意图。如图4中的(a)图所示,用户已启动网课APP,且网课APP全屏显示。可选的,用户可以通过侧边应用栏打开笔记APP的悬浮窗。具体的,用户可以从屏幕右边缘向左滑动,拉起侧边应用栏401,如图4中的(b)图所示。用户在侧边应用栏401中点击笔记APP的图标402,打开笔记APP的悬浮窗403,如图4中的(c)图所示。
当然,在电子设备支持的情况下,用户也可以通过其他的方式打开笔记APP的悬浮窗,本申请实施例对此不做任何限定。
笔记APP的悬浮窗403中包括新建控件404,用户可以点击新建控件404新建一条笔记。界面跳转至图4中的(d)图。在该界面中,用户可以通过点击录音控件、录音类型选项卡片和***内录音选项,启动***内录音功能。具体的可以参见图3中的(b)图至(d)图所示,不再赘述。
图4中以网课APP全屏显示,笔记APP以悬浮窗形式显示为例,对启动笔记APP及其***内录音功能的过程进行了说明。可以理解,对于笔记APP全屏显示,网课APP以悬浮窗形式显示的过程与此类似,不再赘述。
在另一些实施例中,对于已启动的笔记APP,还可以以悬浮球形态显示。可以通过悬浮球中的快捷功能卡片打开笔记APP界面,并启动***内录音功能。
示例性的,图5为本申请实施例提供的又一例启动***内录音功能的过程的界面变化示意图。如图5中的(a)图所示,用户已启动网课APP,且网课APP全屏显示,同时笔记APP以悬浮球501形态显示于界面。用户点击悬浮球501,界面中显示笔记APP的快捷功能卡片502,如图5中的(b)图所示。快捷功能卡片502中包括新建笔记(***内录音)选项503。用户点击新建笔记(***内录音)选项503,笔记APP以悬浮窗的形式显示于界面中,且启动***内录音功能,如图5中的(c)图所示。
2、分享或复制链接方式启动笔记APP及其***内录音功能。
以通过浏览器APP在网页中播放视频场景为例,用户可以通过分享或复制连接的方式打开笔记APP及其***内录音功能。以下结合界面图对分享和复制链接两种方式分别进行说明。
(1)分享
示例性的,图6为本申请实施例提供的又一例启动***内录音功能的过程的界面变化示意图。如图6中的(a)图所示,用户正在通过浏览器在网页中观看视频。网页中包括更多功能控件601。用户点击更多功能控件601,界面中弹出功能选项卡602,如图6中的(b)图所示。功能选项卡602中包括***分享选项603。用户点击***分享选项603,手机进入图6中的(c)图所示的界面。该界面中包括分享对象选择卡片604,分享对象选择卡片604中包括笔记APP的选项605。用户点击笔记APP的选项605,笔记APP以卡片形式显示于界面中,自动新建与当前浏览器APP打开的网页的标题一致的笔记,保存网页的链接,并自动启动***内录音功能,如图6中的(d)图所示。
当然,在另一些实施例中,在用户在分享对象选择卡片604中点击笔记APP的选项605时,也可以不自动启动***内录音功能,而是显示一些选项,供用户选择是否启动***内录音功能,具体的可以根据实际需求设计,本申请实施例对此不做任何限定。
(2)复制链接
示例性的,图7为本申请实施例提供的又一例启动***内录音功能的过程的界面变化示意图。如图7中的(a)图所示,用户正在通过浏览器APP在网页中观看视频。网页中包括更多功能控件601。用户点击更多功能控件601,界面中弹出功能选项卡602,如图6中的(b)图所示。功能选项卡602中包括复制链接选项701。用户点击复制链接选项701,界面中显示分屏提示703和分屏悬浮球704,提示用户可以通过分屏悬浮球704快捷分屏,如图7中的(c)图所示。分屏悬浮球704中包括用户当前打开的APP(浏览器APP)的图标705和笔记APP的图标706,用于提示用户可以将浏览器APP和笔记APP分屏显示。当用户点击分屏悬浮球704后,手机将浏览器APP和笔记APP分屏显示,且自动将当前浏览APP打开的网页的链接写入内容输入区域702,如图7中的(d)图所示。之后,用户可以点击图7中的(d)图的录音控件302,并通过点击弹出的录音类型选项卡片中的***内录音选项启动***内录音,具体的可以参见图3中的(c)图和(d)图,不再赘述。
当用户未点击分屏悬浮球704时,当前网页的链接被复制至剪切板。用户可以打开笔记APP,新建笔记后,在笔记界面中通过手动点击粘贴控件,将网页的链接粘贴至内容输入区域,在此不再赘述。
需要说明的是,上述实施例中界面中的控件,以及界面变化的过程仅作为示例,不对本申请内容造成任何限定。
另外,在用户首次启动***内录音功能时,为了保护用户隐私,提高安全性,笔记APP还可以通过弹窗的形式向用户申请授权。示例性的,图8为本申请实施例提供的一例***内录音功能的申请授权界面示意图。继续以通过网课APP学习的场景为例,接续图3中的(c)图,若用户首次使用***内录音功能,则响应于用户点击图3中的(c)图中的***内录音选项304,笔记界面中弹出申请授权窗口801,如图8所示。申请授权窗口801中包括允许选项802、拒绝选项803和拒绝且不再询问选项804。若用户点击允许选项802,则启动***内录音功能,开始录音,界面跳转至图3中的(d)图所示的界面。若用户点击拒绝选项803,则不启动***内录音功能。若用户点击拒绝且不再询问选项804,则不启动***内录音功能,且后续用户再点击***内录音选项304时,不再弹出申请授权窗口801。
用户按照上述任一种方法启动笔记APP及其***内录音功能后,笔记APP调用电子设备中相关模块开始执行***内录音操作。同时,若用户在笔记界面中内容输入区域输入笔记内容时,笔记APP记录用户输入的内容,并建立映射关系信息,生成笔记。之后,笔记APP还可以对生成的笔记进行呈现,并实现双向定位。下面将以通过网课APP学习的场景,且网课APP与笔记APP分屏显示为例,对笔记APP实现上述功能的具体过程进行说明。为了便于说明,将笔记APP功能的实现分为以下几个过程:
(1)笔记生成过程;
(2)笔记停止过程;
(3)笔记顺序呈现过程;
(4)播放进度跳转过程;
(5)笔记内容跳转过程。
如上所述,笔记内容分为H5元素和手写内容。因而,下面结合界面变化图和时序流程图,对笔记内容为H5元素和手写内容时,上述过程的实现方法分别进行说明。
1、笔记内容为H5元素
(1)笔记生成过程
笔记生成过程包括音频录制过程和笔记内容写入过程。首先,以用户首次启动***内录音功能为例,对应音频录制过程进行说明。
对应于上述图3、图8以及图9的界面变化,在网课APP和笔记APP分屏显示的情况下,本实施例提供的笔记生成过程的时序流程示意图可以如图9所示,音频录制过程包括S101至步骤S122:
S101、响应于用户在网课APP中打开视频的操作,网课APP通过调用函数指示应用程序框架层的媒体播放器播放视频。
其中,打开视频的操作可以为打开视频文件的操作,也可以是进入直播的操作等,本申请对此不做任何限定。
S102、媒体播放器接收到播放视频的指示后,对视频对象进行实例化,以播放视频。
S103、笔记APP中的界面模块响应于用户首次点击***内录音选项的操作,向录音与播放控制模块发送启动***内录音指令。
启动***内录音指令用于指示启动***内录音。
S104、录音与播放控制模块响应于启动***内录音指令,经应用程序框架层的录音模块权限校验后,确定权限校验未通过。
具体的,录音与播放控制模块在每次接收到启动***内录音指令时,均向录音模块发起权限校验请求,由录音模块进行权限校验。录音模块主要进行两方面的校验,一方面是确定是否存在用户授权信息,用户授权信息表征用户同意录音模块捕获***内音频。第二方面确定请求捕获***内音频的APP是否满足预设要求。可选的,本实施例中,预设要求可以为:APP的捕获政策为AudioAttributes.ALLOW_CAPTURE_BY_ALL。
录音模块对这两方面的信息进行验证,若通过,则向录音与播放控制模块返回校验通过信息;若不通过,则向录音与播放控制模块返回校验未通过信息。本实施例中,用户首次启动***内录音功能,因而不存在用户授权信息,权限校验未通过,执行步骤S105。
S105、录音与播放控制模块调用函数指示应用框架测的AMS显示申请授权窗口。
在一个具体的实施例中,录音与播放控制模块可以通过调用MediaProjectionManager.createScreenCaptureIntent()函数来指示AMS显示申请授权窗口。
S106、AMS响应于录音与播放控制模块的调用,显示申请授权窗口,申请授权窗口用于提示用户进行***录音授权。
可选的,申请授权窗口可以如上述图8中的801所示。
S107、响应于用户点击申请授权窗口中的允许选项,笔记APP的界面模块向录音与播放控制模块发送用户授权信息。
S108、录音与播放控制模块在接收到用户授权信息后,经应用程序框架层的录音模块权限校验后,确定权限校验通过。
可以理解,在获取到用户授权信息后,录音与播放控制模块可以将该信息保存。这样,用户下一次启动***内录音功能时,录音模块权限校验时能够直接获取到授权信息,无需再向用户申请授权。
S109、权限校验通过后,录音与播放控制模块调用函数指示录音模块构建对象,并指示向对象添加***内录音的配置参数。
可选的,录音与播放控制模块可以通过调用newAudioRecord()来构建对象。另外,可以指示向构建的对象中添加AudioPlaybackCaptureConfiguration配置参数。该配置参数指示录制***内录音,即指示捕获***内音频。
S110、录音模块响应于录音与播放控制模块的指示,构建对象并向对象添加***内录音的配置参数。
S111、录音与播放控制模块调用函数指示录音模块启动***内录音,并向录音模块发送去空白标记至录音模块。去空白标记用于指示在***内无音频播放时,暂停***内录音。
可选的,录音与播放控制模块可以通过调用Audio_start()函数来启动***内录音。
可选的,录音与播放控制模块可以通过软件***向笔记APP开放的定制接口发送去空白标记。该定制接口为***设计时根据笔记APP功能需求定制的接口。在一个具体的实施例中,去空白标记可以为去空白标记位的一个值,去空白标记例如可以为true。
S112、录音与播放控制模块向界面模块发送录音进度显示指令。
录音进度显示指令用于指示界面模块显示录音进度控件。
S113、界面模块响应于录音进度显示指令,显示录音进度控件。
此时,电子设备的界面可以跳转至图3中的(d)图。
S114、录音模块接收到启动***内录音的指示和去空白标记后,执行去空白录音流程,即:在确定媒体播放器有实例化,且存在音频流的情况下,捕获***内的音频流。
其中,媒体播放器有实例化,或称为媒体播放器中有实例,是指媒体播放器中存在已经实例化的对象。
具体的,媒体播放器播放音频或视频时,一方面需要将对象实例化,另一方面会存在音频流。因而,录音模块通过确定媒体播放器是否有实例化以及是否存在音频流,能够确定媒体播放器是否正在播放音频或视频。若媒体播放器有实例化,且媒体播放器中存在音频流,则确定媒体播放器正在播放音频或视频,***中存在音频流,捕获***内的音频流。
实际应用中,存在一些***内无音频流的场景,如用户暂停了网课APP中的视频播放,或者,直播开始前参会人的麦克风均处于静音状态,或者,用户仅开启了笔记APP,未开启其他能够播放音频的APP等场景。这些场景下,录音模块确定媒体播放器没有实例化和/或媒体播放器中不存在音频流,因而确定***中不存在音频流不捕获音频流,即暂停录音。这样能够减少录制的音频文件中的空白录音,一方面使录制的音频文件的不会过大,节约电子设备存储空间,另一方面在播放录制的音频文件时,不存在空白录音,无需用户调整播放进度,提高用户体验。
S115、录音模块将捕获的***内的音频流和录音时长返回至录音与播放控制模块。
其中,录音时长是指录音模块录音的总时长,不包括暂停录音时的时长。
S116、录音与播放控制模块记录录音开始时刻。
具体的,录音与播放控制模块将首次接收到音频流的时刻记录为录音开始时刻。录音开始时刻表征开始录音的时刻,该时刻为绝对时间,例如,2022年10月18日8点00分00秒。
S117、录音与播放控制模块将录音开始时刻发送至H5编辑器。
S118、H5编辑器将录音开始时刻记录于存储模块中的内容文件中。
录音开始时刻的用处主要为:当笔记内容为手写内容时,H5编辑器可以在后续对笔记内容显示时,根据内容文件中记录的录音开始时刻和每个笔画的落笔时刻确定该笔画的手写相对时间(后续实施例进行进一步说明)。本实施例中,笔记内容为H5元素,H5编辑器可以不记录录音开始时刻。但是考虑到简化运算逻辑,无论什么输入模式,录音与播放控制模块均将录音开始时刻发送至H5编辑器,由H5编辑器保存录音开始时刻,以便后续显示手写内容时使用。当然,在另一些实施例,H5编辑器也可以在确定输入的笔记内容为手写内容时,再向录音与播放控制模块获取录音开始时刻,本申请对此不做任何限定。
可以理解,笔记APP新建一条笔记时,可以在存储模块中建立内容文件、录音文件以及映射文件等一组文件,这些文件在初始状态时内容为空。当开始录音或开始笔记内容后,H5编辑器将一些信息(例如录音开始时刻)或笔记内容写入该内容文件中。同样,当开始录音后,录音与播放控制模块将音频流写入该录音文件中。另外,H5编辑器在生成映射关系信息后,可以将映射关系信息写入映射文件中。具体可以参见后续实施例的描述。
S119、录音与播放控制模块接收到音频流后,将音频流写入存储模块中的录音文件中。
S120、录音与播放控制模块将录音时长发送至界面模块。
S121、界面模块根据接收到的录音时长,刷新录音进度控件中的录音时长信息。
可选的,界面模块可以在接收到录音时长时立即刷新录音进度控件中的录音时长信息,也可以周期性刷新录音时长信息,例如,每间隔1秒刷新一次录音时长信息。
S122、录音与播放控制模块将录音时长实时发送至H5编辑器。
以上过程为音频录制过程,下面对笔记内容写入过程进行说明。
示例性的,图10是本申请实施例提供的一例文本键入模式下笔记生成过程的界面变化示意图,用户可以在录音的过程中输入笔记内容:
接续图3中的(d)图,如图10中的(a)图所示,***内录音功能启动后,笔记界面中包括录音进度控件1001,且录音进度控件1001中包括暂停录音控件1002和录音时长信息1003。可选的,在手机支持语音转文本功能,且手机当前网络连接正常的情况下,笔记APP在启动录音的同时,还可以启动对录音内容的语音转文本,且可以在录音进度控件1001中的区域1004中显示语音转文本的相关信息(如语音转文本的控件、语音转文本得到的文本内容等)。
此时,用户在图10中的(a)图中的内容输入区域702内通过软键盘键入文字“现代主义”四个字,且用户完全键入“现代主义”四个字时,录音时长为00:00:02,即2秒,则手机显示如图10中的(a)图所示的界面。本申请实施例中,对于文本键入而言,完全键入的时刻是指电子设备接收到文本内容的所有信息的时刻,而非输入过程中其他状态(例如样式改变、排版、清单等状态)的时刻。
在图10中的(a)图所示的界面中,用户进一步键入了一些文本内容,具体的如图10中的(b)图所示。
对应于图10的界面变化过程,本实施例提供的笔记生成过程的时序流程示意图可以如图11所示,音频录制过程包括S123至步骤S129:
S123、响应于用户在内容输入区域键入H5元素(以元素a为例),界面模块将元素a发送至H5编辑器。
如上所述,元素a中包含的信息包括元素内容a、元素内容a的输入位置、元素内容a的属性、元素内容a的格式等等。
具体的可以参见图10中的(a)图,用户在内容输入区域702的光标位置处键入“现代主义”四个字,则界面模块响应于用户的键入操作,将“现代主义”四个字及“现代主义”四个字的输入位置、属性和格式等发送至H5编辑器。
S124、H5编辑器根据笔记APP当前的输入模式,确定元素a的内容类型为H5元素。
可以理解,H5编辑器作为笔记APP的编辑模块,能够识别笔记APP输入模式的切换,以及笔记APP当前所处的输入模式。具体的,当用户点击笔记界面中的手写控件(如图10中的(a)图中的手写控件305),H5编辑器能够识别到笔记APP进入手写输入模式。同时,每种非手写输入模式在笔记界面中可以有相应的控件,当用户点击某一控件,H5编辑器能够识别到笔记APP进入对应的非手写输入模式。例如,当用户点击图10中的(a)图中的图片控件1006,H5编辑器识别到笔记APP进入图片输入模式。
H5编辑器根据输入某一笔记内容时笔记APP所处的输入模式,来确定该笔记内容的内容类型。当笔记APP所处的输入模式为手写输入模式时,H5编辑器确定笔记内容的内容类型为手写内容。当笔记APP所处的输入模式为非手写输入模式,即为文本键入模式、图片输入模式、音频输入模式、视频输入模式、表格输入模式等中的任一种时,H5编辑器确定笔记内容的内容类型为H5元素。在一个具体的实施例中,内容类型参数(Type)的值为1时表示H5元素,内容类型参数(Type)的值为2时表示手写内容。
当然,在另一些实施例中,H5编辑器也可以对每一种H5元素进行具体区分,并为每一种H5元素设置唯一标识,例如,内容类型参数(Type)的值为1-1时表示文本元素,内容类型参数(Type)的值为1-2时表示图片元素……
本实施例中,笔记APP当前处于文本键入模式,因而H5编辑器能够确定元素a的内容类型为H5元素。
S125、H5编辑器基于H5语言将元素a以H5页面形式显示于内容输入区域中。
具体的,H5编辑器的编辑语言为H5语言,其对笔记内容的记载采用标签的形式,对笔记内容的显示形式为H5页面(网页)。对于通过H5语言编辑的H5页面而言,用户的每一组输入可以称为一组H5元素,一组H5元素中的每个内容称为H5子元素(简称子元素)。而每一组H5元素对应一组标签(可以为一个,也可以为一对,还可以为多个)。H5编辑器以这组标签作为标记,记载H5元素的元素内容,以及元素内容的输入位置、属性、格式等信息。其中,元素内容中包含的各个子内容称为子元素内容,一组元素内容中的第一个子元素内容称为起始子元素内容(以下简称起始子内容),最后一个子元素内容称为结束子元素内容(以下简称结束子内容,或称为最后子内容)。另外,在记载输入位置时,可以通过段落标签将一组元素内容锚定在H5页面中的某一行。
以图10中的(a)图中的一组元素“现代主义”为例,该组元素包括四个子元素“现”、“代”、“主”和“义”。因而内容文件中记载的元素内容为“现代主义”,该元素内容包括四个子元素内容“现”、“代”、“主”和“义”。其中,“现”为起始子内容,“义”为结束子内容。该元素对应一组标签,该组标签记载了元素内容“现代主义”,并标记和限定了“现代主义”的输入位置、属性和格式等信息。其中,关于元素内容的输入位置,该元素内容“现代主义”的起始位置对应有一个起始段落标签<p>。该段落标签为H5页面中第一个段落标签,因而可以锚定出该元素内容“现代主义”位于H5页面中的第一段落。
S126、H5编辑器基于H5语言,通过标签a将元素a写入存储模块中的内容文件,标签a用于标记元素a的元素内容a以及元素内容a的位置。
也就是说,内容文件中包括元素a对应的一组标签a,该组标签a表征元素a的元素内容a和元素内容a的输入位置、属性、格式等信息。
H5编辑器基于H5语言将元素a写入内容文件后,后续可以通过读取和解析内容文件中的标签a,实现对元素a的显示,且显示的形式为H5页面。
S127、H5编辑器根据当前录音时长确定元素a对应的H5相对时间a。
此处,当前录音时长是指完全键入元素a的时刻对应的录音时长。完全键入元素a的时刻也即,电子设备接收到元素a包含的所有信息的时刻,而非输入过程中其他状态(例如样式改变、排版、清单等状态的时刻)的时刻。对于其他类型的H5元素也是类似,确定H5相对时间时,是根据完全输入H5元素的时刻对应的录音时长来确定的。例如,***图像元素时,根据完全***图像的时刻对应的录音时长确定H5相对时间,而非根据用户操作界面中的控件的时刻,或者用户拍摄或选择图片的时刻等确定H5相对时间。
可选的,H5编辑器可以根据录音与播放控制模块发送的当前录音时长,按照预设的规则生成H5相对时间。在一个具体的实施例中,H5编辑器可以对当前录音时长向后取整秒,得到H5相对时间。例如,用户在内容输入区域输入元素时,录音与播放控制模块发送至H5编辑器的录音时长为1秒42毫秒(00:00:01:42),则H5编辑器对该录音时长向后取整秒,得到的H5相对时间为2秒(00:00:01)。当然,H5编辑器也可以对当前录音时长向前取整秒,或者按照其他的规则计算,得到H5相对时间。在另一个具体的实施例中,H5编辑器也可以直接将当前录音时长确定为H5相对时间。
为了便于说明,以下实施例中,均以“H5相对时间为当前录音时长向后取整秒得到的时间”为例进行说明。
S128、H5编辑器根据标签a生成H5位置信息a,H5位置信息a表征内容文件中记载的元素内容a在H5页面中的位置。
如上所述,标签a能够表征元素内容a和元素内容a的输入位置,因而,通过标签a能够解析和提取出元素内容a在H5页面中的位置信息,本申请实施例中称为H5位置信息a。值得注意的是,H5位置信息a和上述元素内容a的输入位置虽然均表征元素内容a的位置,但是H5位置信息a是H5编辑器记载至内容文件中的位置,其是H5页面显示时用到的信息,表征元素内容a在H5页面中的位置。而元素内容a的输入位置是界面模块发送至H5编辑器的位置信息,是在电子设备接收用户笔记内容时采集的参数,表征元素内容a输入时在屏幕中或界面中的位置。H5位置信息a通过标签a中相关的信息表示,而元素内容a的输入位置一般通过坐标点等形式表示。
简单来说,H5编辑器先将界面模块发送的元素内容a的输入位置转化为标签a,再根据标签a和内容文件中记录的其他内容提取得到H5位置信息a。H5编辑器根据H5位置信息a,读取内容文件,即可将元素a显示于H5页面中的对应位置,而H5编辑器根据元素内容a的位置,读取内容文件并不能将元素a显示于H5页面中的对应位置。
可选的,H5位置信息a可以包括元素内容a中的起始子内容a0的绝对位置和相对位置,以及结束子内容an的绝对位置和相对位置。其中,起始子内容a0的绝对位置是指起始子内容a0在H5页面中所处的位置。可选的,起始子内容a0的绝对位置可以通过起始子内容a0所在的段落以及在段落中的位置表征。起始子内容a0所在的段落可以通过标签a中的段落标签a在内容文件中的段落次序数表征。具体的,H5编辑器可以解析内容文件的所有段落标签,并确定段落标签a是所有段落标签中的第几组段落标签,即段落标签a在内容文件中的段落次序数。起始子内容a0在段落中的位置可以通过起始子内容a0在段落标签a所限定的元素内容中的排序表征。具体的,H5编辑器可以解析段落标签a所限定的所有元素内容,并确定起始子内容a0在这些元素内容中的次序数(即位于段落中的第几个)。起始子内容a0的相对位置是指起始子内容a0在元素内容a中所处的位置。起始子内容a0的相对位置可以通过起始子内容a0在元素内容a中的次序数表征。如上所述,起始子内容为一组元素内容中的第一个子元素内容,因而起始子内容a0在元素内容中的次序数为第一个,可以表示为0。
结束子内容an的绝对位置和相对位置的表示及确定方法与起始子内容a0相同,不做赘述。
也就是说,H5位置信息实质是通过起始子内容和结束子内容的位置锚定了H5页面中一个段落中的一个位置范围,该位置范围即为内容文件中记载的元素a在H5页面中的位置。
S129、H5编辑器生成H5相对时间a与元素a的内容类型(H5元素)、H5位置信息a的映射关系信息a。
也就是说,生成元素a的映射关系信息a,映射关系信息a用于表征H5相对时间a、元素a的内容类型和H5位置信息a的对应关系。
在一个具体的实施例中,映射关系信息可以通过如下结构的map来表示:
结合图10中(a)图,假设用户在录音时长为1秒10毫秒时的输入的元素内容为“现代主义”,且输入时笔记APP所处的输入模式为文本键入模式。因而,H5编辑器根据输入模式确定“现代主义”的内容类型为H5元素。H5编辑器对录音时长1秒10毫秒向后取整秒得到H5相对时间为2秒。且根据该元素对应的标签,确定“现代主义”中的起始子内容“现”所在的段落为第一段落(表示为p1),起始子内容“现”为第一段落中的第一个子内容(表示为0),因而起始子内容“现”的绝对位置可以表示为[p1,0]。起始子内容“现”为元素内容“现代主义”中的第一个子元素内容,因而,起始子内容“现”的相对位置可以表示为0。结束子内容“义”的所在的段落也为第一段落(表示为p1),结束子内容“义”为第一段落中的第四个子元素内容(表示为3),因而,结束子内容“义”的绝对位置可以表示为[p1,3]。结束子内容“义”为元素内容“现代主义”中的第四个子元素内容,因而,结束子内容“义”的相对位置可以表示为3。
所以,H5编辑器建立的“现代主义”元素的map可以为:
按照如上过程,用户每一次发生输入都会生成一组H5位置信息和内容类型。用户在1秒内输入H5元素的组数随机,因而,同一个H5相对时间对应的H5位置信息和内容类型可能为一组,也可能为多组。H5编辑器可以将相同H5相对时间对应的多组H5位置信息和内容类型整合至同一map中,这样,每个map对应一个H5相对时间,每个map中的H5位置信息和内容类型可能为一组,也可能为多组。例如,假设用户在1秒10毫秒时输入“现代主义”后,还在1秒59毫秒输入了符号“X”,则H5编辑器生成的H5相对时间为2秒(second:2)的map中,包括两组H5位置信息和内容类型,即包括两组“noteUnites”。
以上步骤S123至步骤S129对用户在内容输入区域输入笔记内容时,H5编辑器向内容文件写入笔记内容,以及生成映射关系信息的过程进行了说明。当内容输入区域无输入时,H5编辑器不执行任何操作。也就是说,录音与播放控制模块将录音时长发送至H5编辑器,H5编辑器在内容输入区域无输入(笔记内容未发生变化)时,不执行任何操作。在内容输入区域的输入H5元素的情况下,H5编辑器根据录音与播放控制模块发送的最新录音时长(称为当前录音时长)和H5元素对应的标签,生成映射关系信息,该映射关系信息表征H5相对时间与H5位置信息、内容类型的对应关系。其中,H5位置信息表征内容文件中记载的输入的H5元素的内容在H5页面中的位置,H5相对时间根据当前录音时长确定。
当然,在一些实施例中,在生成映射关系信息时,也可以忽略内容类型,仅建立H5相对时间和H5位置信息之间的映射关系。
以上结合附图,以笔记APP处于文本键入模式为例进行了说明。下面结合界面图对图片输入模式下的笔记生成过程进行说明。
在录音持续录制的情况下,用户可以点击笔记界面中的图片控件(例如图10中的(b)图中的1006)来***图片。可选的,用户可以***通过相机APP拍摄的照片,也可以***电子设备中保存的图片。在一个实施例中,接续图10中的(b)图,用户在笔记界面***图片后的界面可以如图12所示。
图片输入模式下,用户一次***的图片为一组H5元素(具体为图片元素)。若用户一次***了多张图片,则该组H5元素包括多个子元素(具体为图片子元素),每张图片为一个子元素。一组图片元素对应一组标签,这组标签中的元素内容为这组图片本身。可选的,对于图片元素来说,标签中限定的元素内容可以仅包括图片的名称等信息,而图片可以单独存储于预设的文件夹中。但是,标签中的图片名称等信息与文件夹中的图片具有唯一对应关系。图片输入模式下,笔记APP生成笔记的流程与上述图11中所示的过程类似,不做赘述。
关于其他的非手写输入模式,均与文本键入模式和图片输入模式类似,不再赘述。
需要说明的是,在录音正在进行,且H5编辑器已生成了一些映射关系信息后,若用户对已输入的H5元素进行修改,则H5编辑器除了对应修改内容文件中记录的内容外,还可以根据用户的修改内容和修改方式更新映射关系信息。具体的,包括下述步骤:
1)响应于用户对已输入的H5元素的修改操作,界面模块向H5编辑器发送修改元素,修改元素中包括修改类型、修改内容和修改位置等信息;修改类型可以包括删除、增加、替换等,修改位置是指被修改内容的位置,修改内容可以包括被删除的内容、增加的内容和替换的内容(包括被删除的内容和删除后增加的内容)等。
2)H5编辑器将修改后的元素以H5页面形式显示于内容输入区域中。
3)H5编辑器根据修改类型、修改内容和修改位置对内容文件进行修改。具体的,若修改类型为增加,则根据修改位置在内容文件中增加修改内容;若修改类型为删除,则根据修改位置在内容文件中删除修改内容;若修改类型为替换,则根据修改位置在内容文件中删除被删除的内容,并写入删除后增加的内容。
4)H5编辑器根据修改元素对应的标签,确定修改元素中的修改内容在H5页面中的绝对位置(称为修改绝对位置),并根据修改绝对位置和修改内容更新映射关系信息。具体的,更新映射关系信息时,可以分为以下几种情况:
a、整组删除H5元素
也就是说,修改类型为删除,且被删除的内容为一组H5元素中的所有子元素。以用户删除了一组H5元素x为例,这种情况下,H5页面中H5元素x之后显示的所有的元素的位置均发生变化。H5编辑器确定映射关系信息中与修改绝对位置匹配的H5位置信息x。也就是说,确定修改绝对位置属于哪一个H5位置信息所锚定的位置范围,确定出的H5位置信息称为H5位置信息x。为了便于描述,H5位置信息x对应的H5相对时间称为H5相对时间x。之后,H5编辑器删除H5位置信息x,并根据H5元素x中包含的子元素的个数x1,修改H5元素x之后输入的各组元素的映射关系信息。具体的,H5编辑器可以确定大于H5相对时间x的H5相对时间对应的H5位置信息,将这些H5位置信息中起始子内容和最后子内容在段落中的次序数分别减去x1。
例如,用户删除了图10中的(b)图中的“现代主义”四个字,则H5编辑器删除2s map中“现代主义”的“noteUnites”,并将H5相对时间大于2s的所有map中,起始子内容和最后子内容在段落中的次序数分别减4。当然,若修改后段落次序发生改变,也需要对应修改段落次序数,以下几种情况也是一样,不再赘述。
b、删除某一组H5元素中的部分
也就是说,修改类型为删除,且被删除的内容为某一组H5中的部分子元素。以用户删除了H5元素x中的部分子元素为例,这种情况下,H5页面中被删除的子元素之后显示的所有的元素的位置均发生变化。H5编辑器确定映射关系信息中与修改绝对位置匹配的H5位置信息x。也就是说,确定修改绝对位置属于哪一个H5位置信息所锚定的位置范围,确定出的H5位置信息称为H5位置信息x。H5位置信息x对应的H5相对时间称为H5相对时间x。之后,H5编辑器根据被删除的子元素个数x2,修改H5位置信息x以及H5元素x之后输入的各组元素的映射关系信息。具体的,H5编辑器重新设置H5位置信息x中的起始子内容的绝对位置和相对位置,以及结束子内容的绝对位置和相对位置。之后,H5编辑器将大于H5相对时间x的所有H5相对时间对应的映射关系信息中,起始子内容和最后子内容在段落中的次序数分别减去被删除的子元素个数x2。
例如,用户删除了图10中的(b)图中“现代主义”中的“代主”则,H5编辑器修改2smap中“现代主义”的“noteUnites”中的信息,将其结束子内容的绝对位置修改为“P1,1”,并将结束子元素的相对位置修改为1。同时,H5编辑器对H5相对时间大于2s的所有map进行调整,将这些map中的起始子内容在段落中的次序数和结束子内容在段落中的次序数分别减2。
c、将某一组H5元素中的部分或全部内容替换
也就是说,修改类型为替换,替换的对象是一组H5元素中的部分或全部。以用户替换了H5元素x中的部分或全部子元素为例,这种情况下,这组H5元素中子元素的数量不变化,因而,H5页面中除H5元素之外的其他元素的位置不发生变化。H5编辑器确定映射关系信息中与修改绝对位置匹配的H5位置信息x。H5位置信息x对应的H5相对时间称为H5相对时间x。之后,H5编辑器根据被删除的子元素的个数和相对位置,修改H5位置信息x。同时,H5编辑器根据删除后增加的内容完全输入时的录音时长,确定H5相对时间p,并确定内容文件中记载的删除后增加的内容在H5页面中的H5位置信息p,生成H5相对时间p与H5位置信息p的映射关系信息。简而言之,修改类型为替换时,删除后增加的内容需要新建映射关系信息。
修改H5位置信息x的过程包括两种情况:第一种情况,被删除的内容包含起始子内容或结束子内容,即被删除的内容为H5元素x两端的子元素,则H5编辑器重新设置H5位置信息x中的起始子内容的绝对位置和相对位置,以及结束子内容的绝对位置和相对位置。第二种情况,被删除的内容不包含起始子内容或结束子内容,即被删除的内容为H5元素x中间的子元素,则H5编辑器将H5元素x的元素内容中,被删除的内容之前和之后的内容分别重新生成一个H5位置信息,这两个H5位置信息均与H5相对时间x映射。换句话说,就是对H5位置信息x拆分,形成两个H5位置信息,从而生成两组“noteUnites”,以在H5相对时间x对应的H5位置信息中排除掉被删除的内容所在的位置。
d、在某一组H5元素中间增加内容
也就是说,修改类型为增加,修改位置为某一组H5元素中间。以用户在H5元素x的中间增加内容为例,这种情况下,增加内容的位置之后的所有元素的位置均发生变化。H5编辑器将H5元素x的元素内容中,增加的内容之前和之后的内容分别重新生成一个H5位置信息,这两个H5位置信息均与H5相对时间x映射。换句话说,就是H5位置信息x拆分,形成两个H5位置信息,从而生成两组“noteUnites”,以在H5相对时间x对应的H5位置信息中排除掉增加的内容所在的位置。同时,H5编辑根据增加的内容完全输入时的录音时长,确定H5相对时间p,并确定内容文件中记载的增加的内容在H5页面中的H5位置信息p,生成H5相对时间p与H5位置信息p的映射关系信息。简而言之,增加的内容需要新建映射关系信息。之后,H5编辑根据增加的子元素的个数x3,修改H5元素x之后输入的各组元素对应的映射关系信息。具体的,H5编辑器可以确定大于H5相对时间x的H5相对时间对应的H5位置信息,将这些H5位置信息中,起始子内容和最后子内容在段落中的次序数分别增加x3。
e、在某一组H5元素之前或之后增加内容
也就是说,修改类型为增加,修改位置为某一组H5元素之前或之后,而非H5元素中间的位置。以用户在H5元素x之前增加内容为例,这种情况下,增加的内容新建映射关系信息,增加内容的位置之后的所有元素的位置均发生变化,具体的可以参见上述情况d,不再赘述。
本实施例中,在录音进行过程中,当用户修改已输入的H5元素时,不仅对内容文件中记录的内容进行修改,还对映射关系信息进行更新,这样能够保证映射关系信息的准确性,从而使后续笔记呈现过程中,录音播放与笔记内容之间的双向定位更加准确,进一步提高用户体验。另外,本实施例中,对于增加的内容以及删除后增加的内容(统称为增加的内容),重新建立映射关系信息,这样,后续在笔记呈现过程中,能够实现增加的内容的高亮显示与录音播放双向定位,便于用户更清楚的获知笔记记录过程,进一步提高用户体验。
(2)笔记停止过程
示例性的,图13是本申请实施例提供的一例文本键入模式下笔记停止过程的界面变化示意图,继续以电子设备为手机为例,用户可以通过以下操作停止笔记:
接续图10中的(b)图,如图13中的(a)图所示,用户在录音时长为5分7秒(00:05:07)时,点击笔记界面中的暂停录音控件1002,并将笔记的标题定义为“现代主义”。响应于用户的操作,笔记APP停止录音,并跳转至图13中的(b)图所示的界面。该界面中显示第一录音播放控件1301,且界面中弹出提示信息1308。
提示信息1308中包括录制的该条笔记中音频的来源(网课APP),用于提示用户保存音频对应的原始音频的信息(或原始视频),例如,原始音频的名称、原始音频的网络链接、原始音频的作者、原始音频的录制时间等,以便于用户后续根据笔记查找原始音频(或原始视频),增加电子设备与用户的交互,提高用户体验。可选的,提示信息1308可以显示预设时长后消失。
如图13中的(b)图所示,第一录音播放控件1301中包括继续录音控件1302、第一播放控件1303和分段录音查看控件1309。用户点击第一播放控件1303后,笔记APP可对当前录制的录音文件进行播放,并同步显示笔记内容,且能够实现双向定位。用户点击继续录音控件1302后录音可重新启动。可选的,录音重新启动后,可以在原录音基础上继续录制,也可以重新建立一段录音,实现分段续录。用户点击分段录音查看控件1309,可查看已录制的多段录音,并可对每段录音进行删除、分享等操作。
可选的,在录音暂停状态下,用户还可以继续在内容输入区域编辑笔记内容,或者修改已输入的笔记内容。例如,在图13中的(b)图所示的录音暂停状态下,用户可以在文本末尾再键入字母“ABC”。又例如,在图13中的(b)图所示的录音暂停状态下,用户还可以在“机器”和“艺术”之间键入字母“D”。当然,在录音暂停状态下,用户还可以继续进行其他的修改,如,更改笔记内容,删除笔记内容等等,再此不一一赘述。
录音暂停后,用户可以点击图13中的(b)图所示的界面中的保存控件1305,完成对笔记的保存,界面跳转为图13中(c)图所示的界面。该界面中包括第二录音播放控件1306。第二录音播放控件1306中包括第二播放控件1307。
对应于上述界面变化示意图,本实施例提供的笔记停止过程的时序流程示意图可以如图14所示,该过程包括:
S201、响应于用户点击暂停录音控件的操作,笔记APP的界面模块显示第一录音播放控件。
该步骤对应的界面变化如上述图13中的(a)图至图13中的(b)图的变化,不再赘述。
S202、界面模块向录音与播放控制模块发送结束录音指令。
界面模块在显示暂停录音控件的同时,还向录音与播放控制模块发送结束录音指令。结束录音指令用于指示结束录音。
S203、录音与播放控制模块响应于结束录音指令,调用函数指示应用程序框架层的录音模块结束录音。
可选的,录音与播放控制模块可以通过调用audio_end()指示录音模块结束录音。
S204、录音模块接收到指示后,停止录音。
S205、录音与播放控制模块向PMS获取界面中与笔记APP同时显示APP的名称。
具体的,录音与播放控制模块可以向PMS发送请求消息,该请求消息用于请求PMS确定当前与笔记APP同时显示于界面的APP的名称。
S206、PMS确定界面中与笔记APP同时显示的APP的名称为网课APP,并将网课APP的名称发送至录音与播放控制模块。
可选的,PMS可以通过WMA确定当前界面中显示的窗口,并通过AMS确定窗口中运行的activity的信息,进而根据activity的信息,确定窗口中运行的APP的名称。本实施例中,笔记APP与网课APP分屏显示于界面,因而确定与笔记APP同时显示于界面的APP为网课APP。PMS将网课APP的名称发送至录音与播放控制模块。
S207、录音与播放控制模块将网课APP的名称发送至界面模块。
S208、界面模块根据网课APP的名称在界面中显示提示信息。
可选的,提示信息可以如图13中的(b)图中的1308所示。
另外,作为一种可选的实施方式,录音与播放控制模块也可以将网课APP的名称发送至H5编辑器,由H5编辑器将网课APP的名称记录于内容文件中。这样,后续用户再打开该条笔记时,网页中显示网课APP的名称,便于用户获知原始音频的来源,提高用户体验。
S209、录音与播放控制模块向H5编辑器发送结束录音指令。
S210、H5编辑器响应于结束录音指令,将生成的所有映射关系信息写入存储模块中的映射文件。
S211、H5编辑器向录音与播放控制模块发送映射文件的信息。
可选的,映射文件的信息包括但不限于映射文件的文件名称、存储路径等。
S212、录音与播放控制模块生成录音文件、内容文件和映射文件的对应关系信息。
可选的,录音与播放控制模块可以根据用户输入的笔记标题,建立该笔记标题的对应关系表。在一个具体的实施例中,以图13中的(b)图中用户输入的笔记标题为“现代主义”为例,录音与播放控制模块建立的对应关系表例如可以如下表1:
表1
可以理解,表1仅为举例,用于说明对应关系信息所包含的内容,不代表实际数据,且表1对本申请不造成任何限定,实际的对应关系信息中也可以包括比表1更多或更少的内容。
S213、录音与播放控制模块将该对应关系持久化至存储模块。
需要说明的是,本申请实施例中,对于“暂停录音”和“停止录音”,对于笔记APP来说,均是响应于用户点击暂停录音控件的操作,执行上述过程,因而,对于“暂停录音”和“停止录音”可以不进行明确区分。
以上过程为图13中的(a)图和(b)对应的暂停录音的执行过程。对于用户暂停录音后,如图14所示,本申请实施例提供的方法中,录音暂停后继续编辑的过程包括:
S214、响应于用户在内容输入区域修改元素,界面模块将修改元素发送至H5编辑器。
与上述实施例中,在录音进行时修改H5元素相同,这里,界面模块发送至H5编辑器的修改元素中也包括修改位置、修改内容、修改类型等信息。
S215、H5编辑器接收到修改元素后,将修改元素以H5页面形式显示于内容输入区域中。
S216、H5编辑器根据修改元素对内容文件中对应的内容进行修改。
S217、H5编辑器根据修改元素对应的标签,确定修改元素中的修改内容在H5页面中的绝对位置(修改绝对位置)。
确定修改绝对位置的方法与在笔记生成过程中确定起始子内容和结束子内容的绝对位置的方法类似,可以通过读取内容文件,确定修改内容所在的段落和在段落中的位置,在此不再赘述。
S218、H5编辑器根据修改内容和修改绝对位置,更新映射文件中的映射关系信息。
该步骤的具体方法与上述实施例在录音进行时修改H5元素时修改映射关系信息类似,不同点在于,该步骤中,在修改类型为增加或替换时,增加的内容不需要新建映射关系信息,而是将增加的内容作为修改位置之前或之后的一组H5元素中的子元素,更新该组H5元素对应的映射关系信息,并修改该组H5元素之后的输入的各组元素对应的映射关系信息。
具体的,对于上述实施例中的情况c,与上述实施例所述的方法不同的是,本实施例中,对删除后增加的内容不需要新建映射关系,同时,也不需要对H5位置信息x进行拆分。这样,对于情况c,若删除后增加的内容中子内容的个数与被删除的子内容的个数相同,则映射文件中的各个映射关系信息是不需要发生改变的;若不同,且被删除的子内容的个数较多,则按照情况b的处理方式进行处理;若不同,且删除后增加的内容中子内容的个数较多,则按照情况d的处理方式进行处理。
对于上述实施例中的情况d,与上述实施例所述的方法不同的是,本实施例中,对增加的内容不需要新建映射关系,同时,也不需要对H5位置信息x进行拆分,而是直接重新设置H5位置信息x的起始子内容的绝对位置和相对位置,以及结束子内容的绝对位置和相对位置。过程中相同的部分不做赘述。
对于上述实施例中的情况e,与上述实施例所述的方法不同的是,本实施例中,对增加的内容不需要新建映射关系,而直接根据预设规则,对修改位置之前或之后的一组H5元素的映射关系信息进行修改,将新增的内容对应的位置纳入该映射关系信息中的位置范围内。
另外,对于修改类型为增加,且增加的内容在已输入的所有H5元素之后,即在文档最末尾增加内容的情况:可选的,一种实现方式中,可以将增加的内容作为已输入的H5元素中最后一组元素的内容进行处理。另一种实现方式中,也可以不更改已保存的映射文件,也就是说,在录音暂停时在文档最末尾增加的元素,可以不建立该元素与录音的映射关系信息,后续笔记呈现时,若用户点击该修改元素时,不实现录音进度的跳转。这种实现方式能够简化H5编辑器的计算逻辑,提高算法运行速度和准确率。
除此之外,在笔记APP支持分段续录的情况下,若用户点击播放暂停控件,录音与播放控制模块将录音文件保存。当用户点击继续录音控件时,录音与播放控制模块上述步骤S101至S122,重新录制新的录音文件。但是,内容文件可以不重新建立,可以在建立新的录音文件的过程中,按照步骤S123至S129记录笔记内容和映射关系信息。这样,最终形成的笔记中包括多个录音文件、一个内容文件和一个映射文件。
笔记APP的分段续录功能便于用户后续对某一个或某几个录音文件进行删除,满足用户更多场景的使用需求。在用户删除某一个录音文件时,H5编辑器可以根据该录音文件对应的H5相对时间,删除映射文件中对应的映射关系信息。
本申请实施例提供的方法,在生成笔记的过程中,通过H5编辑器基于H5语言编辑和保存笔记内容,并生成相对时间与笔记内容对应的标签的信息的映射关系信息。H5语言在不同***的电子设备中均遵循相同的解析协议,可以实现跨***的数据互通。这样,后续在使用笔记时,无需通过电子设备中***的原生模块读取笔记内容和映射关系信息,而通过电子设备中安装的笔记APP中的H5编辑器即可读取笔记内容和映射关系信息,从而能够实现笔记内容与录音双向定位的跨***使用,提高用户体验。
以上以网课APP场景下,网课APP与笔记APP分屏显示为例,对于笔记APP生成笔记文件的过程进行了阐述。对于其他几种笔记APP及其***内录音的启动方式下,笔记生成的过程与上述过程类似,不再赘述。但是,需要说明的是,在分享和复制链接两种方式中,在启动笔记APP时,自动新建笔记,并且记录了网页链接。记录的网页链接可以以笔记内容的形式显示与内容输入区域,并写入内容文件。这样,不仅便于用户获知录音或笔记内容的来源,而且,简化用户的操作,进一步提高用户体验。
下面结合应用场景和附图对按照上述过程生成的笔记的读取过程进行说明。
示例性的,图15为本申请实施例提供的一例共享笔记的应用场景示意图。用户可以通过数据共享***共享笔记。具体的,如图15所示,数据共享***可以包括手机、云平台和平板电脑等。具体的,以手机的软件***为Android***,平板电脑的软件***为Windows***为例进行说明。手机和平板电脑中均安装本申请实施例提供的笔记APP。手机和平板电脑均登录云平台的账户,如此,手机和平板电脑可以通过云平台进行数据云同步。当用户通过手机中安装的笔记APP生成笔记后,通过云平台对笔记的文件(包括录音文件、内容文件和映射文件等)进行数据云同步,从而使平板电脑也能够获得该笔记的文件。
以下以在图15中的平板电脑中呈现笔记为例进行说明。可以理解,本实施例中,呈现笔记是指播放录音文件以及显示笔记内容。
(3)笔记顺序呈现过程
笔记顺序呈现过程是指,笔记中的录音文件按照默认顺序播放,笔记内容按照录音文件的播放进度显示对应位置的内容。
示例性的,图16为本申请实施例提供的一例在平板电脑中顺序呈现笔记的过程的界面变化示意图。如图16中的(a)图所示,平板电脑的桌面上包括笔记APP的图标,当用户点击笔记APP的图标,打开笔记APP,进入如图16中的(b)图所示的界面。该界面中左半部分中显示多条笔记的标题,且在界面的右半部分默认显示第一条笔记(即“现代主义”)的界面。该笔记界面中包括第二录音播放控件1306,第二录音播放控件1306中包括第二播放控件1307。而且,该笔记界面中的笔记内容全部置灰显示。
当用户点击图16中的(b)图中“现代主义”这条笔记的第二播放控件1307时,开始播放该笔记中的录音文件。如图16中的(c)图所示,此时笔记界面中显示播放进度控件1601,播放进度控件1601中包括播放进度条1602、播放时长信息1603和播放暂停控件1604。其中,播放时长信息1603中包括当前播放时长和录音总时长。同时,录音播放至各个映射关系信息中的H5相对时间时,H5页面中对应位置的元素容高亮显示。例如,如图16中的(c)图所示,当录音播放至2秒(00:00:02)时,“现代主义”四个字高亮显示。随着录音继续播放,其他笔记内容也逐渐高亮显示。再例如,如图16中的(d)图所示,当录音播放至2分钟整(00:02:00)时,“机器艺术”之前的所有内容均已高亮显示。
对应于上述界面变化示意图,本实施例提供的笔记顺序呈现过程的时序流程示意图可以如图17所示,该过程包括:
S401、响应于用户打开笔记的操作,界面模块向H5编辑器发送预显示指令。
预显示指令用于指示对内容文件中的内容进行预显示。其中,预显示的方式可以根据需求预先设置,本申请实施例中以置灰显示为例进行说明。
可选的,预显示指令中可以包括笔记标题或者其他能够区分笔记的信息。
S402、H5编辑器从存储模块中读取笔记的内容文件。
可选的,H5编辑器可以根据预显示指令中的笔记标题,查找表1,确定该笔记标题对应的内容文件的名称、内容文件的存储路径等,进而根据内容文件的名称、存储路径等读取内容文件。
S403、H5编辑器将内容文件中的所有内容置灰显示。
H5编辑器将内容文件中的文本、图片、表格、视频的播放图标、音频的播放图标以及手写内容等均进行置灰显示,显示效果可以如图16中的(b)图所示。
具体的,H5编辑器可以修改内容文件中所有笔记内容的显示样式为置灰样式,从而使所有元素内容置灰显示。
S404、响应于用户点击第二播放控件的操作,界面模块显示播放进度控件。
对应于图16中的(b)图,用户点击第二播放控件1307,界面模块显示如图16中的(c)图中的播放进度控件1601。
S405、界面模块向录音控制模块发送播放指令。
可选的,播放指令中可以包括用户所打开的笔记的信息,例如笔记标题等。
S406、响应于播放指令,录音与播放控制模块从存储模块中读取录音文件和映射文件。
录音与播放控制模块可以根据播放指令中的笔记标题,查找表1,确定该笔记标题对应的录音文件的名称、录音文件的存储路径、映射文件的名称、映射文件的存储路径等,进而从存储模块中读取录音文件和映射文件。
S407、录音与播放控制模块解析映射文件,得到映射文件中的所有映射关系信息。
S408、录音与播放控制模块将所有映射关系信息发送至H5编辑器。
S409、录音与播放控制模块读取录音文件后,从第0秒开始播放录音文件,并实时确定播放时长。
S410、录音与播放控制模块实时将播放时长发送至界面模块。
S411、界面模块接收到录音与播放控制模块发送的播放时长后,刷新播放进度控件中的播放时长信息。
S412、录音与播放控制模块实时将播放时长发送至H5编辑器。
S413、H5编辑器根据当前播放时长确定当前H5相对时间。
具体的,H5编辑器根据当前播放时长确定当前H5相对时间的规则,与上述笔记生成过程中根据录音时长确定H5相对时间的规则相同。例如,若笔记生成过程中H5编辑器对录音时长向后取整秒得到H5相对时间,则此处H5编辑器对当前播放时长向后取整得到当前H5相对时间。
S414、H5编辑器基于JS轮询机制,确定映射关系信息中是否存在当前H5相对时间;若是,则执行步骤S415;若否,则返回执行步骤S413。
具体的,H5编辑器可以基于JS轮询机制,轮询查找映射文件中的各个map,确定是否存在与当前H5相对时间匹配的map。
可选的,H5编辑器可以实时轮询,即每次收到播放时长时,都执行一次轮询。可选的,H5编辑器也可以预设轮询周期,周期性轮询。具体的,H5编辑器预设轮询周期后,在每个轮询周期的起始时刻,启动一次对映射文件的轮询查找。换句话说,H5编辑器每间隔预设的轮询周期时长启动一次对映射文件的轮询查找。周期性轮询能够控制H5编辑器的轮询次数,减少资源消耗,节约电子设备的功耗。可选的,步骤S413也可以在每个轮询周期的起始时刻启动执行,以进一步减少资源消耗,节约电子设备的功耗。
在一个具体的实施例中,预设轮询周期时长小于映射文件中相邻的两个H5相对时间的时间差。例如,按照上述实施例,映射文件中H5相对时间是对录音时间取整秒得到,因而,相邻两个H5相对时间的时间差为1秒。预设轮询周期时长例如可以为100毫秒(ms),这样在减少轮询次数的同时,保证了轮询结果的准确性,从而提高对笔记内容显示的准确性,保证了显示进度的流畅度,提高用户体验。
S415、H5编辑器根据映射关系信息,确定当前H5相对时间对应的H5位置信息(称为当前H5位置信息),在内容文件中确定与当前H5位置信息匹配的元素内容(称为当前元素内容),将当前元素内容高亮显示。
具体的,当确定映射关系信息中存在当前H5相对时间时,H5编辑器进一步确定当前H5相对时间对应的当前H5位置信息。之后,H5编辑器根据当前H5位置信息在内容文件中确定对应的当前元素内容,并将该当前元素内容的显示样式修改为高亮样式,从而使该元素内容高亮显示。
当确定映射关系信息中不存在当前H5相对时间时,H5编辑器返回执行步骤S413。如此循环执行,直至播放停止(录音文件全部播放完或者用户点击播放暂停控件)。录音播放和H5元素逐渐高亮显示的过程中,若H5元素内容较多,在当前H5页面中无法完全显示,则H5元素可以按行滚动显示,以提高显示效果,进一步提高用户体验。
在另一些实现方式中,步骤S415也可以被替换为以下步骤S415’:H5编辑器根据映射关系信息,确定小于或等于当前H5相对时间的各个H5相对时间对应的H5位置信息,并根据这些H5位置信息,修改内容文件中对应的元素内容的显示样式为高亮样式,以将这些元素内容全部高亮显示。步骤S415’的实现过程与上述步骤S415不同,但是二者达到的显示效果相同。这种实现方式的好处是,能够与后续播放进度跳转过程,或者笔记内容跳转过程中轮询显示的方法一致,减少算法对场景的区分,提高算法一致性。
需要说明的是,本申请实施例中,“置灰显示”和“高亮显示”仅作为一种示例,仅用于说明未被定位的笔记内容和被定为的笔记内容的显示样式不同,在其他的实施例中,也可以采用其他的显示方式,本申请对此不做任何限定。
本实施例提供的方法,在笔记的顺序呈现过程中,通过H5编辑器读取H5语言编辑的内容文件和映射关系信息,实现录音播放进度和内容文件突出显示进度的同步,无需通过电子设备中***的原生模块读取笔记内容和映射关系信息,因而可以跨***使用,提高用户体验。
(4)播放进度跳转过程
播放进度跳转过程也即通过录音播放进度定位笔记内容显示进度。示例性的,图18为本申请实施例提供的一例播放进度跳转的界面变化示意图。如图18中的(a)图所示,“现代主义”这条笔记的录音播放至第2分30秒(00:02:30)时,用户通过拖动播放进度控件1601中的播放进度条1602至第3分28秒(00:03:28),如图18中的(b)图所示。响应于用户的拖动操作,笔记界面中除录音播放进度改变外,H5页面中突出显示的内容也发生改变,实现了通过播放录音进度定位笔记内容显示进度。
对应于上述界面变化示意图,本实施例提供的播放进度跳转过程的时序流程示意图可以如图19所示,该过程包括:
S501、响应于用户拖动进度条至播放时长Tx的位置,界面模块刷新播放进度控件中的当前播放时长为Tx。
S502、界面模块向录音与播放控制模块发送播放跳转指令,播放跳转指令用于指示将播放时长调整为Tx。
S503、录音与播放控制模块响应于播放跳转指令,从播放时长Tx处开始播放录音文件。
S504、录音与播放控制模块将播放跳转标志信息和播放时长Tx发送至H5编辑器。
播放跳转标志信息用于表征播放时长Tx为通过播放跳转指令得到的,用于将播放时长Tx与录音与播放控制模块实时发送的播放时长进行区分。
可选的,在图17所示的实施例中采用步骤S415’时,该步骤S504中,也可以不发送播放跳转标志信息。
S505、H5编辑器接收到播放跳转标志信息和播放时长Tx后,根据播放时长x确定H5相对时间Tx。
S506、H5编辑器根据映射关系信息,基于JS轮询机制,确定小于或等于H5相对时间Tx的H5相对时间对应的H5位置信息Tx,在内容文件中确定与H5位置信息Tx匹配的元素内容Tx,将元素内容Tx高亮显示,并将内容文件中除元素内容Tx之外的其他元素内容置灰显示。
该步骤中,H5位置信息Tx为一个或多个H5位置信息的统称,相对应的,元素内容Tx也为一组或多组元素内容,即一个标签或多个标签中的元素内容。
该过程与上述实施例步骤S415’的过程类似,不再赘述。
在执行完步骤S506之后,笔记APP继续按照上述步骤S410至S415过程执行。
本实施例中,在用户改变录音播放进度的情况下,H5编辑器通过播放时长Tx确定H5相对时间Tx,并根据映射关系信息,基于JS轮询机制,查找小于或等于H5相对时间Tx的H5相对时间对应H5位置信息Tx,基于H5位置信息Tx进行位置匹配和高亮显示。这样,在播放进度跳转后,跳转后的播放进度对应的H5元素及之前输入的H5元素高亮显示,跳转后的播放进度对应H5元素之后的H5元素置灰显示,实现了通过播放录音进度定位H5元素显示进度。
(5)笔记内容跳转过程
笔记内容跳转过程也即通过点击某一位置的笔记内容定位对应的播放进度。示例性的,图20为本申请实施例提供的一例笔记内容跳转的界面变化示意图。如图20中的(a)图所示,“现代主义”这条笔记的录音播放至第3分28秒(00:03:28),笔记内容高亮显示至“二十世纪中叶,”时,用户点击笔记内容中的“机器艺术”。响应于用户的点击操作,笔记APP将“机器艺术”及之前输入的内容高亮显示,将“机器艺术”之后输入的内容置灰显示,且将录音播放进度跳转至第2分30秒(00:02:30),如图20中的(b)图所示,实现了通过点击笔记内容定位播放录音进度。
对应于上述界面变化示意图,本实施例提供的播放进度跳转过程的时序流程示意图可以如图21所示,该过程包括:
S601、响应于用户点击H5页面中元素m的操作,界面模块向H5编辑器发送显示跳转指令,显示跳转指令用于指示将高亮显示进度跳转至元素m。
S602、响应于显示跳转指令,H5编辑器确定元素m的内容类型为H5元素。
具体的,H5编辑器根据显示跳转指令,解析元素m中包含的信息,即元素m的元素内容(称为元素内容m),以及元素内容m的内容类型、位置等信息。H5编辑器在确定元素内容m的内容类型为H5元素的情况下,执行步骤S603;若H5编辑器确定元素内容m的内容类型为手写内容时,执行手写内容相应的跳转过程,这部分内容将在后续实施例中进行进一步详细说明。
S603、H5编辑器根据映射关系信息,基于JS轮询机制,确定与元素m的元素内容m位置匹配的H5位置信息m。
H5编辑器根据元素内容m的位置所匹配的H5位置信息,即确定元素内容m的位置在哪一个H5位置信息所锚定的位置范围内。H5编辑器确定出的与元素内容m位置匹配的H5位置信息定义为H5位置信息m。
S604、H5编辑器根据映射关系信息,确定H5位置信息m对应的H5相对时间m。
S605、H5编辑器根据映射关系信息,基于JS轮询机制,确定小于或等于H5相对时间m的H5相对时间对应的H5位置信息n,在内容文件中确定与H5位置信息n匹配的元素内容n,将元素内容n高亮显示,并将内容文件中元素内容n之外的其他元素内容置灰显示。
该过程与上述实施例中步骤S506的过程类似,不再赘述。
S606、H5编辑器向录音与播放控制模块发送H5相对时间m。
S607、录音与播放控制模块从H5相对时间m处开始播放录音文件。
S608、录音与播放控制模块将H5相对时间m发送至界面模块。
S609、界面模块刷新录音进度控件中的当前播放时长为m。
在执行完步骤S609之后,笔记APP继续按照上述步骤S410至S415过程执行。
本实施例中,在用户点击H5页面中的H5元素时,H5编辑器基于JS轮询机制,确定与元素内容m匹配的H5位置信息m,进而根据映射关系信息确定H5位置信息m对应的H5相对时间m。得到H5相对时间m后,一方面确定小于或等于H5相对时间m的H5相对时间对应的H5位置信息n,基于H5位置信息n进行位置匹配和高亮显示。这样,使用户点击的H5元素及之前输入的H5元素高亮显示,用户点击的H5元素之后的H5元素置灰显示。另一方面,录音与控制模块根据H5相对时间m跳转播放进度至m,如此,实现了通过点击H5元素反向定位播放进度。另外,本实施例中,在确定内容类型为H5元素的情况下才执行步骤S603步骤,启动对映射关系信息的轮询,而在内容类型不为H5元素的情况下,不启动轮询。这样能够减少H5编辑器轮询查找映射关系信息的次数,减少资源消耗,节约电子设备的功耗。
上述图16至图21所示的实施例提供的方法,实现了笔记播放中的双向定位,且整个过程基于笔记APP中的H5编辑器完成,无需电子设备***中的原生模块,因而可以跨***使用,提高用户体验。
2、笔记内容为手写内容
以上对笔记内容为H5元素情况下,笔记生成过程、笔记停止过程、笔记顺序呈现过程、播放进度跳转过程和笔记内容跳转过程进行了说明。下面结合附图,对笔记内容为手写内容情况下,相关的过程的实现方法进行说明。为了便于理解和查看,以下实施例不再以两个APP多窗口显示为例进行说明,仅对笔记APP全屏显示,笔记内容为手写内容时的相关过程进行说明。可以理解,多窗口显示时,笔记APP的相关界面、方法运行过程和实现原理均与全屏显示时相同,不再赘述。
(1)笔记生成过程
本实施例提供的笔记生成过程中,启动录音的部分参见图3和图9所示实施例,不再赘述。示例性的,图22为本申请实施例提供的一例手写输入模式下笔记生成过程的界面变化示意图。接续图3中的(d)图,如图22中的(a)图所示,当用户点击录音控件开始录音后,用户进一步点击界面中的手写控件305,内容输入区域702的输入模式由文本键入模式切换为手写输入模式,手机显示如图22中的(b)图所示的界面。用户可以在内容输入区域702手写笔记内容。例如,用户手写输入“现代主义”四个字,笔记界面如图22中的(c)图所示。类似的,在录音的过程中,用户又陆续手写输入了一些内容,如图22中的(d)图所示。另外,如图22中的(d)图所示,手写输入模式下的界面中可以包括用于切换至键入模式的控件2201,若用户想结束手写输入,重新使用软键盘进行输入,则可以点击控件2201。点击控件2201后,界面可以跳转至类似图10中的(b)图右侧窗口中所示的笔记界面,不同的是,内容输入区域显示的内容为手写输入的内容。
对应于上述界面变化示意图,手写内容输入过程中的时序流程示意图可以如图23所示,该过程包括:
S701、响应于用户在内容输入区域手写输入内容b,界面模块将内容b发送至H5编辑器。
如上所述,内容b中包含的信息可以包括手写笔画b,以及手写笔画b的输入位置、属性、格式等。
S702、H5编辑器根据笔记APP当前的输入模式,确定内容b的内容类型为手写内容。
S703、H5编辑器将内容b显示于内容输入区域中。
S704、H5编辑器将内容b的内容类型、内容b写入存储模块中的内容文件,并建立内容类型和内容b的对应关系;其中,内容b中包括手写笔画b、手写笔画b的位置、手写笔画b的落笔时刻。
需要说明的是,落笔时刻与上述录音开始时刻一样,为绝对时间。
上述过程可以看出,在笔记生成过程中,输入手写内容时,无需建立映射关系信息,但是需要记录每一笔手写笔画的落笔时刻。
(2)笔记停止过程
本实施例中的笔记停止过程与上述图14所示过程的不同点在于:本实施例无需执行步骤S210和步骤S211,而步骤S212中,录音与播放控制模块生成的对应关系信息仅包括录音文件和内容文件对应关系,不包括映射文件。
(3)笔记顺序呈现过程
本实施例中的笔记顺序呈现过程的界面变化示意图与图16类似,不同点在于,本实施例中H5页面中显示手写内容,且手写内容按照笔画逐步高亮显示。
下面结合附图对包含手写内容的笔记的顺序呈现过程进行说明。示例性的,图24为本申请实施例提供的另一例笔记顺序呈现过程的时序流程示意图,如图24所示,该过程包括:
S801、响应于用户打开笔记的操作,界面模块向H5编辑器发送预显示指令。
S802、H5编辑器从存储模块中读取笔记的内容文件。
S803、H5编辑器将内容文件中的所有内容置灰显示。
S804、响应于用户点击第二播放控件的操作,界面模块显示播放进度控件。
S805、界面模块向录音控制模块发送播放指令。
S806、录音与播放控制模块向H5编辑器发送播放指令。
S807、H5编辑器响应于播放指令,确定内容文件中的各个手写笔画的落笔时刻与录音开始时刻的时间差,得到各个手写笔画的手写相对时间。
如上述图9中的步骤S118,在笔记生成过程中,H5编辑器将录音与播放控制模块发送的录音开始时刻记录于内容文件中。图23的步骤S704中,H5编辑器将手写笔画的落笔时刻写入内容文件中。基于此,该步骤S807中,通过计算手写笔画的落笔时刻与录音开始时刻的时间差,得到手写笔画的手写相对时间。手写相对时间能够表征笔记生成过程中,该手写笔画落笔时对应的录音时长。
S808、响应于播放指令,录音与播放控制模块从存储模块中读取录音文件。
S809、录音与播放控制模块读取录音文件后,从第0秒开始播放录音文件,并实时确定播放时长。
S810、录音与播放控制模块实时将播放时长发送至界面模块。
S811、界面模块接收到录音与播放控制模块发送的播放时长后,刷新播放进度控件中的播放时长信息。
S812、录音与播放控制模块实时将播放时长发送至H5编辑器。
S813、H5编辑器基于JS轮询机制,确定所有手写相对时间中是否存在与当前播放时长相等的当前手写相对时间;若是,则执行步骤S814;若否,则返回执行步骤S813。
S814、H5编辑器高亮显示当前第二播放时间对应的手写笔画。
上述过程中与图17中相同的步骤参见图17相应的说明,不再赘述。
本实施例提供的方法,在笔记的顺序呈现过程中,通过H5编辑器预先存储的录音开始时刻和各个手写笔画的落笔时刻,确定各个手写笔画的手写相对时间。手写相对时间能够表征手写笔画在输入时对应的录音时长。因而,笔记呈现过程中,通过确定是否存在与当前播放时长一致的当前手写相对时间,确定是否存在与当前播放时长对应的手写笔画。在存在当前手写相对时间时,高亮显示对应的手写笔画。如此,实现了手写笔画显示进度与录音播放进度的同步,且无需通过电子设备中***的原生模块读取手写内容和对应的笔画落笔时间,因而可以跨***使用,提高用户体验。
(4)播放进度跳转过程
本实施例中的播放进度跳转过程的界面变化示意图与图18类似,不同点在于,本实施例中H5页面中显示手写内容,且播放进度跳转至某一位置时,H5页面中的对应手写笔画高亮显示。
下面结合附图对包含手写内容的笔记的播放进度跳转过程进行说明。示例性的,图25为本申请实施例提供的另一例播放进度跳转过程的时序流程示意图,如图25所示,该过程包括:
S901、响应于用户拖动进度条至播放时长Tx的位置,界面模块刷新播放进度控件中的当前播放时长为Tx。
S902、界面模块向录音与播放控制模块发送播放跳转指令,播放跳转指令用于指示将播放时长调整为x。
S903、录音与播放控制模块响应于播放跳转指令,从播放时长Tx处开始播放录音文件。
S904、录音与播放控制模块将播放跳转标志信息和播放时长Tx发送至H5编辑器。
S905、H5编辑器基于JS轮询机制,在内容文件中确定小于或等于播放时长Tx的手写相对时间Tx,手写相对时间Tx对应的手写笔画高亮显示,并将除手写相对时间Tx之外的手写相对时间对应的手写笔画置灰显示。
该步骤中,手写相对时间Tx为一个或多个手写相对时间的统称。
在执行完步骤S905之后,笔记APP继续按照上述步骤S812至S814过程执行。
本实施例中,在用户改变录音播放进度的情况下,H5编辑器基于JS轮询机制,查找小于或等于播放时长Tx的手写相对时间Tx,将第二相时间Tx对应的手写笔画高亮显示,并将其他手写笔画置灰显示,即将大于播放时长Tx的手写相对时间对应的手写笔画置灰显示。这样,在播放进度跳转后,跳转后的播放进度对应的手写内容及之前输入的手写内容高亮显示,跳转后的播放进度对应的手写内容之后的手写内容置灰显示,实现了通过播放录音进度定位手写内容显示进度。
(5)笔记内容跳转过程
本实施例中的笔记内容跳转过程的界面变化示意图与图20类似,不同点在于,本实施例中H5页面中显示手写内容,且用户点击某一位置时,H5页面中的对应手写笔画及该手写笔画之前的手写笔画高亮显示。
下面结合附图对包含手写内容的笔记内容跳转过程进行说明。示例性的,图26为本申请实施例提供的另一例笔记内容跳转过程的时序流程示意图,如图26所示,该过程包括:
S1001、响应于用户点击H5页面中内容m的操作,界面模块向H5编辑器发送显示跳转指令,显示跳转指令用于指示将高亮显示进度跳转至内容m。
S1002、响应于显示跳转指令,H5编辑器根据建立的手写内容与内容类型的映射关系,确定内容m的内容类型为手写内容。
S1003、H5编辑器确定内容m中包含的手写笔画对应的手写相对时间m。
S1004、H5编辑器基于JS轮询机制,确定内容文件中小于或等于手写相对时间m的手写相对时间n,将手写相对时间n对应的手写笔画n高亮显示,并将内容文件中除手写笔画n之外的其他手写笔画置灰显示。
S1005、H5编辑器向录音与播放控制模块发送手写相对时间m。
S1006、录音与播放控制模块从手写相对时间m处开始播放录音文件。
S1007、录音与播放控制模块将手写相对时间m发送至界面模块。
S1008、界面模块刷新录音进度控件中的当前播放时长为m。
在执行完步骤S1008之后,笔记APP继续按照上述步骤S812至S814过程执行。
本实施例中,在用户点击H5页面中的手写内容时,H5编辑器确定内容m中包含的手写笔画m对应的手写相对时间m。得到手写相对时间m后,一方面确定小于或等于手写相对时间m的手写相对时间n,将手写相对时间n对应的手写笔画高亮显示,其他的手写笔画置灰显示。这样,使用户点击的手写内容及之前输入的手写内容高亮显示,用户点击的手写内容之后的手写内容置灰显示。另一方面,录音与控制模块根据手写相对时间m跳转播放进度至m,如此,实现了通过点击手写内容反向定位播放进度。另外,本实施例中,在确定内容类型为手写内容的情况下才执行步骤S1003步骤,启动对手写相对时间n的轮询查找,而在内容类型不为手写内容的情况下,不启动轮询。这样能够减少H5编辑器对内容文件中手写内容的轮询次数,减少资源消耗,节约电子设备的功耗。
上述实施例中,以在安装有笔记APP的电子设备中呈现笔记为例进行了说明。本申请实施例还提供一种方法,能够对笔记APP生成的文件进行转换处理,以使转换后的文件在未安装该笔记APP的电子设备中也能呈现。以下结合附图进行说明。
示例性的,图27为本申请实施例提供的一例笔记分享过程的界面变化示意图。如图27中的(a)图所示,用户在暂停录音并保存笔记后,笔记界面中包括分享控件2701。当用户点击分享控件2701,手机显示如图27中的(b)图所示的界面。该界面中包括分享方式选择卡片2702,分享方式选择卡片2702中包括导出为文档选项2703。用户点击导出为文档选项2703,手机显示如图27中的(c)图所示的界面。该界面中包括文档类型选择卡片2704,文档类型选择卡片2704中包括导出为HTML选项2705。用户点击导出为HTML选项2705,笔记“现代主义”被导出为HTML格式,并保存至预设的存储路径下,手机显示如图27中的(d)图所示的界面。导出的HTML格式的文件在未安装笔记APP的电子设备中,可以通过浏览器打开,并实现录音播放进度与笔记内容显示的双向定位。
对应于上述界面变化示意图,笔记格式转换的流程示意图可以如图28所示,该过程包括:
S2101、响应于用户点击导出为HTML选项,界面模块向H5编辑器发送格式转换指令。
可选的,格式转换指令中可以包括笔记的信息,例如笔记标题等。格式转换指令用于指示将笔记导出为HTML格式。
S2102、H5编辑器响应于格式转换指令,确定内容文件中是否包括手写内容;
若是,则生成手写转换JS文件,手写转换JS文件为JS格式的代码文件,用于读取内容文件中的手写笔画,并将手写笔画转换为图片格式,之后执行步骤S2103;
若否,则直接执行步骤S2103。
可选的,H5编辑器可以根据笔记生成阶段记录的映射关系信息中的内容类型,以及手写笔画对应的内容类型,确定内容文件中是否包括手写内容。
S2103、H5编辑器生成定位逻辑JS文件,定位逻辑JS文件为JS格式的代码文件,用于实现笔记APP中的双向定位逻辑,即实现录音播放进度和笔记内容显示的双向定位逻辑。笔记APP中的双向定位逻辑也即上述笔记顺序播放过程、播放进度跳转、笔记内容跳转的逻辑内容,在此不再赘述。
S2104、H5编辑器建立资源文件夹,资源文件夹中包括读取关系JS文件、手写转换JS文件、录音文件、内容文件和映射文件。
S2105、H5编辑器将笔记的H5页面另存为HTML格式的文件。
例如,将“现代笔记”的H5页面另存为文件“现代笔记.html”。如此,“现代笔记.html”中的元素与内容文件中的标签一一对应。
之后,可以建立资源文件夹与HTML格式的文件之间的对应关系。
后续若用户在未安装笔记APP的电子设备中打开该笔记时,可以通过浏览器读取HTML格式的文件,且资源文件夹中的手写转换JS文件能够在H5页面中包含手写内容时,读取手写笔画,并将手写笔画转换为图片格式,不影响手写笔画的显示。同时,资源文件夹中的定位逻辑JS文件,能够根据播放时长,读取映射关系信息,并基于JS轮询机制轮询查找,实现对播放时长对应的笔记内容的同步显示。同时,定位逻辑JS文件还能够在播放进度跳转时定位至对应的笔记内容,在点击某一笔记内容时,将播放进度跳转至对应播放时长。如此,即使电子设备中未安装笔记APP的情况下,也能够打开笔记,且能够实现双向定位,进一步提高用户体验。
上文详细介绍了本申请实施例提供的记录内容的方法的示例。可以理解的是,电子设备为了实现上述功能,其包含了执行各个功能相应的硬件和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以结合实施例对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对电子设备进行功能模块的划分,例如,可以对应各个功能划分为各个功能模块,例如检测单元、处理单元、显示单元等,也可以将两个或两个以上的功能集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
需要说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
本实施例提供的电子设备,用于执行上述记录内容的方法,因此可以达到与上述实现方法相同的效果。
在采用集成的单元的情况下,电子设备还可以包括处理模块、存储模块和通信模块。其中,处理模块可以用于对电子设备的动作进行控制管理。存储模块可以用于支持电子设备执行存储程序代码和数据等。通信模块,可以用于支持电子设备与其他设备的通信。
其中,处理模块可以是处理器或控制器。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(digital signal processing,DSP)和微处理器的组合等等。存储模块可以是存储器。通信模块具体可以为射频电路、蓝牙芯片、Wi-Fi芯片等与其他电子设备交互的设备。
在一个实施例中,当处理模块为处理器,存储模块为存储器时,本实施例所涉及的电子设备可以为具有图1所示结构的设备。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储了计算机程序,当计算机程序被处理器执行时,使得处理器执行上述任一实施例的记录内容的方法。
本申请实施例还提供了一种计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述相关步骤,以实现上述实施例中的记录内容的方法。
另外,本申请的实施例还提供一种装置,这个装置具体可以是芯片,组件或模块,该装置可包括相连的处理器和存储器;其中,存储器用于存储计算机执行指令,当装置运行时,处理器可执行存储器存储的计算机执行指令,以使芯片执行上述各方法实施例中的记录内容的方法。
其中,本实施例提供的电子设备、计算机可读存储介质、计算机程序产品或芯片均用于执行上文所提供的对应的方法,因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
通过以上实施方式的描述,所属领域的技术人员可以了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (16)

1.一种记录内容的方法,所述方法由电子设备执行,其特征在于,所述电子设备包括第一应用程序APP,所述第一APP用于录音和记录用户输入的内容,所述方法包括:
启动所述第一APP;
通过所述第一APP接收启动指令,所述启动指令用于指示启动***内录音操作,所述***内录音操作是指录制所述电子设备的***内的音频;
响应于所述启动指令,执行所述***内录音操作。
2.根据权利要求1所述的方法,其特征在于,所述执行所述***内录音,包括:
当确定所述电子设备的***内存在处于播放状态的音频时,执行所述***内录音操作。
3.根据权利要求2所述的方法,其特征在于,所述电子设备还包括媒体播放器,所述方法还包括:
若确定所述媒体播放器中存在已实例化的第一对象,且所述媒体播放器中存在音频流,则确定所述电子设备的***内存在处于播放状态的音频。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述执行所述***内录音操作之前,所述方法还包括:
对所述第一APP进行权限校验,所述权限校验用于确定电子设备中是否存在用户授权信息,以及所述第一APP是否满足预设条件,所述用户授权信息用于表征用户同意所述电子设备执行所述***内录音操作;
若权限校验通过,则执行所述***内录音操作;
若权限校验未通过,且确定不存在所述用户授权信息,则显示申请授权信息,所述申请授权信息用于申请所述用户授权信息。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:
显示所述第一APP的界面,所述第一APP的界面中包括内容输入区域;
执行所述***内录音操作的过程中,在录制时长为第一时长时,响应于用户在所述内容输入区域输入第一内容的操作,保存所述第一内容,并根据所述第一时长和所述第一内容的输入位置,生成映射关系信息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
响应于用户的暂停录音操作,停止执行所述***内录音操作,得到录音音频;
确定所述电子设备的界面中与所述第一APP同时显示的第二APP的信息;
根据所述第二APP的信息,显示提示信息,所述提示信息用于提示用户保存所述第二APP的信息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述电子设备的界面中包括第一窗口和第二窗口,所述第一窗口中显示所述第一APP的界面,所述第二窗口中显示所述第二APP的界面。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述第一窗口和所述第二窗口中的一个窗口悬浮显示;
或者,
所述第一窗口和所述第二窗口并列显示。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述启动所述第一APP,包括:
响应于用户在第一页面中进行的分享操作,启动所述第一APP,并显示所述第一APP的界面;所述分享操作用于指示将所述第一页面分享至所述第一APP,所述第一APP的界面中包括内容输入区域;
将所述第一页面的链接信息写入所述内容输入区域。
10.根据权利要求1至8中任一项所述的方法,其特征在于,所述启动所述第一APP,包括:
响应于用户在第二页面中进行的复制链接操作,复制所述第二页面的链接信息;
显示分屏控件;
响应于用户点击所述分屏控件,启动所述第一APP,并将所述第二页面与所述第一APP分屏显示,所述第一APP的界面中包括内容输入区域;
将所述第二页面的链接信息写入所述内容输入区域。
11.根据权利要求10所述的方法,其特征在于,所述启动所述第一APP之后,所述方法还包括:
生成所述启动指令。
12.根据权利要求1至11中任一项所述的方法,其特征在于,所述电子设备的***包括应用程序层和应用程序框架层,所述第一APP位于所述应用程序层,所述电子设备还包括录音模块,所述录音模块位于所述应用程序架构层,所述执行所述***内录音操作,包括:
所述录音模块执行所述***内录音操作。
13.根据权利要求12所述的方法,其特征在于,所述录音模块执行所述***内录音操作,包括:
所述录音模块构建第二对象,并向所述第二对象添加配置参数,所述配置参数指示所述第二对象对应的录音操作为所述***内录音操作;
所述录音模块基于所述第二对象执行所述***内录音操作。
14.根据权利要求13所述的方法,其特征在于,所述电子设备还包括媒体播放器,所述媒体播放器位于所述应用程序框架层,所述录音模块基于所述第二对象执行所述***内录音操作之前,所述方法还包括:
所述第一APP向所述录音模块发送第一标记,所述第一标记用于指示在确定所述电子设备的***内存在处于播放状态的音频的情况下,执行所述***内录音操作;
所述录音模块基于所述第二对象执行所述***内录音操作,包括:
所述录音模块根据所述第一标记,在确定所述媒体播放器中存在已实例化的第一对象,且所述媒体播放器中存在音频流的情况下,基于所述第二对象执行所述***内录音操作。
15.一种电子设备,其特征在于,包括:处理器、存储器和接口;
所述处理器、所述存储器和所述接口相互配合,使得所述电子设备执行如权利要求1至14中任一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储了计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至14中任一项所述的方法。
CN202211350637.4A 2022-10-31 2022-10-31 记录内容的方法和电子设备 Pending CN116682465A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211350637.4A CN116682465A (zh) 2022-10-31 2022-10-31 记录内容的方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211350637.4A CN116682465A (zh) 2022-10-31 2022-10-31 记录内容的方法和电子设备

Publications (1)

Publication Number Publication Date
CN116682465A true CN116682465A (zh) 2023-09-01

Family

ID=87789654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211350637.4A Pending CN116682465A (zh) 2022-10-31 2022-10-31 记录内容的方法和电子设备

Country Status (1)

Country Link
CN (1) CN116682465A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103280232A (zh) * 2013-04-08 2013-09-04 北京小米科技有限责任公司 音频记录方法、装置及终端设备
CN111833917A (zh) * 2020-06-30 2020-10-27 北京印象笔记科技有限公司 信息交互方法、可读存储介质和电子设备
CN112579038A (zh) * 2020-12-24 2021-03-30 上海商米科技集团股份有限公司 一种内置录音方法、装置、电子设备和存储介质
CN114822525A (zh) * 2021-01-29 2022-07-29 华为技术有限公司 语音控制方法和电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103280232A (zh) * 2013-04-08 2013-09-04 北京小米科技有限责任公司 音频记录方法、装置及终端设备
CN111833917A (zh) * 2020-06-30 2020-10-27 北京印象笔记科技有限公司 信息交互方法、可读存储介质和电子设备
CN112579038A (zh) * 2020-12-24 2021-03-30 上海商米科技集团股份有限公司 一种内置录音方法、装置、电子设备和存储介质
CN114822525A (zh) * 2021-01-29 2022-07-29 华为技术有限公司 语音控制方法和电子设备

Similar Documents

Publication Publication Date Title
JP7414842B2 (ja) コメント追加方法及び電子デバイス
KR101556522B1 (ko) 촉각 효과를 제공하는 휴대 단말기 및 그 제어방법
CN113766064B (zh) 一种日程处理方法及电子设备
CN110597512A (zh) 显示用户界面的方法及电子设备
WO2013129893A1 (en) System and method for operating memo function cooperating with audio recording function
CN114201097B (zh) 一种多应用程序之间的交互方法
CN114816167B (zh) 应用图标的显示方法、电子设备及可读存储介质
WO2009153628A1 (en) Music browser apparatus and method for browsing music
CN112230909A (zh) 小程序的数据绑定方法、装置、设备及存储介质
CN112632327A (zh) 歌词处理方法、装置、电子设备、计算机可读存储介质
CN109948101A (zh) 页面切换方法、装置、存储介质及电子设备
CN115700461A (zh) 投屏场景下的跨设备手写输入方法、***和电子设备
CN109726379B (zh) 内容项编辑方法、装置、电子设备及存储介质
CN117933197A (zh) 记录内容的方法、记录内容的呈现方法和电子设备
CN113741708B (zh) 一种输入方法及电子设备
CN115113751A (zh) 调整触摸手势的识别参数的数值范围的方法和装置
CN116682465A (zh) 记录内容的方法和电子设备
JP2022051500A (ja) 関連情報提供方法及びシステム
CN116661635B (zh) 手势处理方法和电子设备
CN104850316A (zh) 电子图书字体调整方法及装置
EP2806364B1 (en) Method and apparatus for managing audio data in electronic device
CN112230906B (zh) 列表控件的创建方法、装置、设备及可读存储介质
WO2023185641A1 (zh) 数据处理方法及电子设备
CN118075540A (zh) 视频记录方法和电子设备
CN118283290A (zh) 一种视频处理方法及服务器

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination