首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MediaInfo更明智地获得字幕

MediaInfo更明智地获得字幕
EN

Stack Overflow用户
提问于 2021-12-13 10:58:23
回答 1查看 64关注 0票数 0

我用MediaInfo包装器制作了windows窗体应用程序,我找不到任何好的解决方案来获取所有字幕并将它们放入数组或字符串中。

因为如果我硬编码subtitle1subtitle2subtitle3subtitle4等.而且根本没有字幕,也没有那么多我硬编码的,我得到了错误:

Input string was not in a correct format

所以,我如何获得字幕,并将它们列在字符串或数组中,就像这样:EngFraSpa,没有硬代码和上面的错误。(如果没有替补,我每次都会犯这个错误)。

我的代码:

代码语言:javascript
复制
// Hardcoding (possible) subtitles...
string subOne = MI.Get(StreamKind.Text, 0, "Language/String3");
string subTwo = MI.Get(StreamKind.Text, 1, "Language/String3");
string subThree = MI.Get(StreamKind.Text, 2, "Language/String3");

string subtitlesCount = MI.Get(StreamKind.General, 0, "TextCount"); // Count how many subtitles included

string subtitles = "";

int subtitlesInt = Int32.Parse(subtitlesCount);

// Trying to find better solution over here...
if (subtitlesInt >= 1 && subtitlesInt < 2)
{
   subtitles = subOne;
} else if (subtitlesInt >= 1 && subtitlesInt <= 2)
{
   subtitles = subOne + "," + subTwo;
} else {
   subtitles = "";
}

 //var subsArray = subtitles.Split(',');
 //subtitles = String.Join(",", subsArray);

 // Display mediainfo data to textbox
 string data = "";

 data += "Subtitles: " + subtitles + "\r\n";
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-13 11:38:55

以下代码未进行测试或编译。只是一个想法,你如何能够做到这一点,根据您的代码。

代码语言:javascript
复制
string subtitles = "";
int subtitlesInt = Int32.Parse(MI.Get(StreamKind.General, 0, "TextCount"));

for(int i = 0, i < subtitlesInt; i++)
{
    subtitles += MI.Get(StreamKind.Text, i, "Language/String3") + ",";
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70333540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档