This commit is contained in:
owenchen committed 2026-06-04 08:16:37 +08:00
1 parent fd48c2eb7d
commit cb3fdca3e1
8 files changed
+339 -52

No files matched your search

+15 -2
View File
@@ -82,6 +82,7 @@ namespace CloudBuilder.AI.Gui
processBut = new Krypton.Toolkit.KryptonButton();
extractNamesBut = new Krypton.Toolkit.KryptonButton();
uploadBut = new Krypton.Toolkit.KryptonButton();
generaterMp3But = new Krypton.Toolkit.KryptonButton();
kryptonPanel2 = new Krypton.Toolkit.KryptonPanel();
mainPanel = new TableLayoutPanel();
topPanel = new TableLayoutPanel();
@@ -614,16 +615,17 @@ namespace CloudBuilder.AI.Gui
processPanel.ColumnStyles.Add(new ColumnStyle());
processPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
processPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50F));
processPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 80F));
processPanel.ColumnStyles.Add(new ColumnStyle());
processPanel.Controls.Add(processBut, 1, 0);
processPanel.Controls.Add(extractNamesBut, 2, 0);
processPanel.Controls.Add(uploadBut, 0, 0);
processPanel.Controls.Add(generaterMp3But, 3, 0);
processPanel.Location = new Point(377, 127);
processPanel.Margin = new Padding(0);
processPanel.Name = "processPanel";
processPanel.RowCount = 1;
processPanel.RowStyles.Add(new RowStyle(SizeType.Percent, 100F));
processPanel.Size = new Size(356, 31);
processPanel.Size = new Size(373, 31);
processPanel.TabIndex = 6;
//
// processBut
@@ -656,6 +658,16 @@ namespace CloudBuilder.AI.Gui
uploadBut.Values.Text = "上传";
uploadBut.Click += uploadBut_Click;
//
// generaterMp3But
//
generaterMp3But.Location = new Point(279, 3);
generaterMp3But.Name = "generaterMp3But";
generaterMp3But.Size = new Size(91, 25);
generaterMp3But.TabIndex = 2;
generaterMp3But.Values.Image = Properties.Resources.MoveNext;
generaterMp3But.Values.Text = "生成MP3";
generaterMp3But.Click += generaterMp3But_Click;
//
// kryptonPanel2
//
kryptonPanel2.Dock = DockStyle.Fill;
@@ -979,5 +991,6 @@ namespace CloudBuilder.AI.Gui
private Krypton.Toolkit.KryptonDataGridViewTextBoxColumn genderCol;
private Krypton.Toolkit.KryptonDataGridViewTextBoxColumn sentimentCol;
private Krypton.Toolkit.KryptonDataGridViewComboBoxColumn sentenceStatusCol;
private Krypton.Toolkit.KryptonButton generaterMp3But;
}
}
+42 -7
View File
@@ -780,13 +780,12 @@ namespace CloudBuilder.AI.Gui
return;
}
AiChapterEntity chapter = dataGv.GetRowData<AiChapterEntity>(dataGv.SelectedCells[0].RowIndex);
AiChapterEntity[] chapters = dataGv.GetSelectedRowsData<AiChapterEntity>();
//aiBookRequest.ExtractNamesByChapterGuid(data.AiBook.BookId, chapter.ChapterId);
AiSentenceViewEntity[] aiSentences = aiSentenceRequest.FindByChapterId(chapter.ChapterId);
sentenceGv.SetDataSource(aiSentences);
if (chapters != null)
aiBookRequest.PackPersonName(chapters);
else
aiBookRequest.PackPersonNameByBookId(data.AiBook.BookId);
ShowMessageBox.ShowInfo(securityMessagePolicy.ComposeMessage(SecurityMessagePolicy.GUI_SUCCEED_UPDATED_NULL));
@@ -819,7 +818,7 @@ namespace CloudBuilder.AI.Gui
AiSentenceViewEntity sentence = sentenceGv.GetRowData<AiSentenceViewEntity>(sentenceGv.SelectedCells[0].RowIndex);
using (Stream audioStream = ServiceHelper.GetService<IServiceRequest>()!.PostStreamAsync("/AiBook/GetTtsStream?text=" + sentence.Content, null, string.Empty).GetAwaiter().GetResult())
using (Stream audioStream = ServiceHelper.GetService<IServiceRequest>()!.PostStreamAsync("/AiBook/GetMp3Stream", null, sentence).GetAwaiter().GetResult())
{
PlayMp3Stream(audioStream);
}
@@ -915,5 +914,41 @@ namespace CloudBuilder.AI.Gui
UseShellExecute = true // 使用Windows Shell执行
});
}
private void generaterMp3But_Click(object sender, EventArgs e)
{
try
{
if (dataGv.RowCount <= 0 || dataGv.SelectedCells.Count <= 0)
{
ShowMessageBox.ShowInfo(securityMessagePolicy.ComposeMessage(SecurityMessagePolicy.GUI_WS_RECORD_NOT_FOUND));
return;
}
AiChapterEntity[] chapters = dataGv.GetSelectedRowsData<AiChapterEntity>();
if (chapters != null)
aiBookRequest.GenerateMp3(chapters);
else
aiBookRequest.GenerateMp3ByBookId(data.AiBook.BookId);
ShowMessageBox.ShowInfo(securityMessagePolicy.ComposeMessage(SecurityMessagePolicy.GUI_SUCCEED_UPDATED_NULL));
guidSearchTxt.Text = data.AiBook.BookId;
Search();
}
catch (ValidatedException ex)
{
ShowMessageBox.ShowInfo(ex.Message);
}
catch (ServiceErrorException ex)
{
ShowMessageBox.ShowError(ex.Message);
}
catch (Exception ex)
{
ShowMessageBox.ShowError(ex.Message);
}
}
}
}