使用方式
AI 總結模組提供取得回放影片智慧分析內容的能力,包括回放大綱、字幕解析和互動答題。
主要方法
| 方法 | 功能 |
|---|---|
getPlaybackOutline |
取得回放大綱資料 |
getOutlineContent |
取得大綱詳細內容 |
getAISubtitleContent |
取得 AI 字幕內容 |
parseAISubtitleContent |
解析 SRT 格式字幕 |
getAIPlaybackQuestionData |
取得互動答題資料 |
使用範例
// 获取回放大纲
const outline = await aiCore.aiSummary.getPlaybackOutline({
id: 'video-123',
type: 'playback', // 'record' 或 'playback'
});
if (outline) {
console.log('视频摘要:', outline.introduction);
console.log('分段数量:', outline.outlineContent.length);
}
// 获取并解析字幕
const subtitleContent = await aiCore.aiSummary.getAISubtitleContent(
'https://example.com/subtitle.srt',
);
const parsedSubtitles = aiCore.aiSummary.parseAISubtitleContent(subtitleContent);
// 获取互动答题
const questionData = await aiCore.aiSummary.getAIPlaybackQuestionData(
'https://example.com/questions.json',
);
取得回放大綱內容
說明: 透過大綱 URL 取得回放大綱的詳細內容,包括摘要和分段總結
Api 方法: getOutlineContent(outlineUrl: string): Promise<PlaybackOutlineData>
參數說明:
- outlineUrl:大綱資料的 API URL,
string類型,必傳
回傳值說明: 回放大綱資料,包含 introduction(摘要)和 outlineContent(分段總結),Promise<PlaybackOutlineData> 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
introduction |
摘要內容 | string |
outlineContent |
分段總結 | PlaybackOutlineContentItem[] |
範例:
const summaryModule = new AISummaryModule();
const outlineUrl = 'https://api.example.com/outline/123';
try {
const outlineData = await summaryModule.getOutlineContent(outlineUrl);
console.log('大纲摘要:', outlineData.introduction);
console.log('分段数量:', outlineData.outlineContent.length);
} catch (error) {
console.error('获取大纲内容失败:', error);
}
取得回放大綱資料
說明: 根據回放 ID 和類型取得對應的大綱資料。首先透過 API 取得大綱 URL,然後使用 getOutlineContent 取得詳細內容。
Api 方法: getPlaybackOutline(options: PlaybackOutlineOptions): Promise<undefined | PlaybackOutlineData>
參數說明:
- options:取得參數,包含回放 ID 和類型,
PlaybackOutlineOptions類型,必傳,詳細類型說明如下
| 參數名 | 說明 | 類型 | 必須 | 預設值 |
|---|---|---|---|---|
id |
回放 id | string |
是 | - |
type |
回放類型 | string |
是 | - |
回傳值說明: 回放大綱資料,如果未找到大綱則回傳 undefined,Promise<undefined | PlaybackOutlineData> 類型
範例:
const summaryModule = new AISummaryModule();
// 获取录制文件的大纲
const recordOptions = {
id: 'file_123456',
type: 'record' as const,
};
const recordOutline = await summaryModule.getPlaybackOutline(recordOptions);
if (recordOutline) {
console.log('录制文件大纲:', recordOutline.introduction);
}
// 获取回放视频的大纲
const playbackOptions = {
id: 'video_789012',
type: 'playback' as const,
};
const playbackOutline = await summaryModule.getPlaybackOutline(playbackOptions);
if (playbackOutline) {
console.log('回放视频大纲分段:', playbackOutline.outlineContent.length);
}
取得字幕內容
說明: 透過字幕 URL 取得 AI 產生的字幕文字內容(通常為 SRT 格式)
Api 方法: getAISubtitleContent(url: string): Promise<string>
參數說明:
- url:字幕資料的 API URL,
string類型,必傳
回傳值說明: 字幕文字內容(字串格式),Promise<string> 類型
範例:
const summaryModule = new AISummaryModule();
const subtitleUrl = 'https://api.example.com/subtitle/123.srt';
try {
const subtitleContent = await summaryModule.getAISubtitleContent(subtitleUrl);
console.log('字幕内容:', subtitleContent);
// 通常返回 SRT 格式文本,可以进一步使用 parseAISubtitleContent 解析
const parsedItems = summaryModule.parseAISubtitleContent(subtitleContent);
console.log('解析后的字幕条目数:', parsedItems.length);
} catch (error) {
console.error('获取字幕内容失败:', error);
}
解析字幕
說明: 將 SRT 格式的字幕文字解析為結構化的字幕條目陣列
Api 方法: parseAISubtitleContent(content: string): AISubtitleParsedItem[]
參數說明:
- content:SRT 格式的字幕文字,
string類型,必傳
回傳值說明: 解析後的字幕條目陣列,每個條目包含開始時間、結束時間、文字內容和索引,AISubtitleParsedItem[] 類型
範例:
const summaryModule = new AISummaryModule();
const srtContent = `
1
00:00:01,000 --> 00:00:04,000
欢迎观看本视频
2
00:00:05,000 --> 00:00:08,000
今天我们将学习 AI 技术
`;
const parsedItems = summaryModule.parseAISubtitleContent(srtContent);
console.log('解析结果:', parsedItems);
// 输出示例:
// [
// {
// start: 1000,
// end: 4000,
// text: '欢迎观看本视频',
// index: '1'
// },
// {
// start: 5000,
// end: 8000,
// text: '今天我们将学习 AI 技术',
// index: '2'
// }
// ]
// 使用解析后的数据
parsedItems.forEach(item => {
console.log(`时间: ${item.start}-${item.end}ms, 内容: ${item.text}`);
});
取得互動答題列表
說明: 透過答題資料 URL 取得回放影片中的互動答題列表
Api 方法: getAIPlaybackQuestionData(url: string): Promise<PlaybackQuestionData>
參數說明:
- url:互動答題資料的 API URL(JSON 格式),
string類型,必傳
回傳值說明: 互動答題資料,包含問題列表,Promise<PlaybackQuestionData> 類型,詳細類型說明如下
| 屬性名 | 說明 | 類型 |
|---|---|---|
questions |
問題列表 | PlaybackQuestionItem[] |
範例:
const summaryModule = new AISummaryModule();
const questionUrl = 'https://api.example.com/questions/123.json';
try {
const questionData = await summaryModule.getAIPlaybackQuestionData(questionUrl);
console.log('问题数量:', questionData.questions.length);
questionData.questions.forEach((question, index) => {
console.log(`问题 ${index + 1}: ${question.question}`);
console.log(`类型: ${question.type}, 答案: ${question.answer}`);
console.log(`弹题时间: ${question.questionTriggerTime}秒`);
question.selectOptions.forEach(option => {
console.log(` 选项 ${option.option}: ${option.content}`);
});
});
} catch (error) {
console.error('获取答题数据失败:', error);
}
