ã¯ããã«ïŒãšã©ãŒã¯é¿ããããªãã
C#ã§ã¢ããªãäœããšãªããšãèšèªããŒãžã§ã³ãDLLäŸåãã©ã€ãã©ãªé£æºãªã©ãå¿ ãäœããã®ãã©ãã«ã«ééããŸãã
ãã®ããŒã«éçºã§ã¯ãçè èªèº«ã C#ã«äžæ £ããªç¶æ ã§çæAIã«ãã¹ãŠãé Œã£ãã®ã§ãåœç¶ãã©ãã«ãå€ãã£ãã
ã§ãããCopilotã«ãã©ãããŠãšã©ãŒãåºãŠãã®ïŒããšå°ããã ãã§ãåå åæâä¿®æ£æ¡âåçºé²æ¢çãŸã§ã»ããã§æç€ºããŠãããã®ã§ãã
ããã§ã¯ã代衚çãªãšã©ãŒäºäŸãšãã®è§£æ±ºããã»ã¹ãã玹ä»ããŸãã
CASE 1ïŒC# 7.3ã§ã¯ using var
ã䜿ããªã
ãšã©ãŒã¡ãã»ãŒãžïŒ
æ©èœ 'using 宣èš' 㯠C# 7.3 ã§ã¯äœ¿çšã§ããŸããã8.0 以äžã®èšèªããŒãžã§ã³ãã䜿ããã ããã
ãã㯠using var x = new Y();
ã®ãããªå®£èšã C# 8.0 以éã®æ§æã§ããããçºçãããšã©ãŒã§ãã
çè ã®å¯Ÿå¿æ¹æ³ïŒ
- Copilotã«ããã®ãããžã§ã¯ãã¯C# 7.3ãªã®ã§using varã¯äœ¿ããªãããšäŒãã
- AIã¯å³åº§ã«
using (var x = new Y()) { ... }
ã«æžãæããŠããã
代衚äŸïŒããŒã«ãŒæç»ïŒïŒ
using (Pen pen = new Pen(Color.Orange, 3))
{
e.Graphics.DrawLine(pen, x1, 0, x1, markerOverlay.Height);
}
ãã®å¯Ÿå¿ããã¹ãŠã®ç®æã«åæ ããããšã§ãC# 7.3ç°å¢ã§ãå®å šã«ãã«ããéãããã«ãªããŸããã
CASE 2ïŒffmpeg.exeãèŠã€ãããªãããŸãã¯ã³ãã³ããéããªã
ãšã©ãŒã¡ãã»ãŒãžã¯åºãªããã®ã®ããåç»ãåºåãããªãããffmpegãèµ·åããªãã
ãšãã£ãæåã§ãffmpegãããŠã³ããŒãããªããŠã¯ãããªãããšãæãåºãã
çè ã®å¯Ÿå¿æ¹æ³ïŒ
- Copilotã«ãffmpeg.exeã®é çœ®ãæ£ããã確èªãããããšäŒãã
- AIã¯
EnsureFfmpegPath()
ãæ¡åŒµããŠFile.Exists(ffmpegPath)
ããã§ãã¯ããæ§æãææ¡ - ããã«èªåååŸãŸã§çµã¿èŸŒãããšã§ç¢ºå®ã«ååšããããã«æ¹å
èªåååŸã³ãŒãïŒæç²ïŒïŒ
string url = "https://www.gyan.dev/ffmpeg/builds/ffmpeg-release-essentials.zip";
using (var client = new WebClient())
{
client.DownloadFile(url, zipPath);
}
ZipFile.ExtractToDirectory(zipPath, ffmpegDir);
äžæ¬åŠçã§ãâãŠãŒã¶ãŒãäœãæºåããªããŠã䜿ããâç¶æ ã«ããŸããã
CASE 3ïŒLibVLC DLLãäžè¶³ããŠåç»ãåçã§ããªã
åç»ãã¡ã€ã«ã¯éžã¹ãã®ã«ãåçãã¥ãŒãçã£é»ãããã«ãšã©ãŒã衚瀺ãããªãã
åå ïŒ
-
libvlc.dll
,libvlccore.dll
ãbin\Release\
ã«ååšããªã -
plugins/
ãã©ã«ããäžè¶³ããŠãã
çè ã®å¯Ÿå¿æ¹æ³ïŒ
- Copilotã«ãLibVLCSharpã§åç»ã衚瀺ãããªãçç±ã¯ïŒããšèã
- AIãäŸåDLLãš
plugins
ã®æ§æã瀺ããVLCå ¬åŒããZIPãããŠã³ããŒãããæ¹æ³ãææ¡ - çµæã
libvlc/
ãã©ã«ããæ§æããããšã«ããå®å šåçãå¯èœã«
CASE 4ïŒãžã§ãã®çµäºæéãéå§æéããåã«ãªã£ãŠãã
ãã®å Žåãffmpegã§ã¯å®è¡ãšã©ãŒã«ãªãããäœãåºåãããªãã
çè ã®å¯Ÿå¿æ¹æ³ïŒ
Copilotã®ã¢ããã€ã¹ã«ããããžã§ãã®ããªããŒã·ã§ã³ã远å ïŒ
if (end > start)
{
// å®è¡OK
}
else
{
MessageBox.Show("çµäºæéã¯éå§æéããåŸã§ããå¿
èŠããããŸãã");
}
ãã®ã³ãŒãã¯ãBtnExportAll_Click()
ã®ãžã§ãæœåºéšåã§ .Where(...)
ãã£ã«ã¿ãŒãšããŠè¿œå ãããç¡å¹ãªãžã§ãã¯äºåã«é€å€ã§ããããã«ãªããŸããã
CASE 5ïŒVisual Studioã§Releaseãã«ããã§ããªããexeãèŠã€ãããªã
çè ãæåã«ééãããã©ãã«ã®äžã€ã
å¯Ÿå¿æ¹æ³ïŒ
- Copilotã«ããã«ãããŠãexeãèŠã€ãããªãããšäŒãã
- AIããæ§æãDebugã«ãªã£ãŠããŸãããïŒããšææããŠããã
- Releaseæ§æã«åãæ¿ããããšã§
bin\Release\filebunkatsu.exe
ãçæãããããã«ãªã£ã
ãã®ãããªãéçºè ãèŠèœãšããã¡ãªèšå®ãã¹ããŸã§æŸã£ãŠãããã®ã¯ãCopilotã®é åã§ãã
CASE 6ïŒåçã»åæ¢ãã¿ã³ã朰ããŠè¡šç€ºããã
ãã®åé¡ã¯èŠãç®ã«é¢ãããããdesigner.csã«æžããæç¹ã§ã¯ãããã«ããã
new pointç§»è¡ã®åº§æšãä¿®æ£ããããšã§å¯Ÿå¿ãå¯èœã§ãã
(ããã¯AIçæã«é Œã£ãŠãããŸããã§ããã)
btnPlay.Location = new Point(20, 485);
btnPause.Location = new Point(110, 485);
btnStop.Location = new Point(220, 485);
ããã§ UIã®æœ°ãã¯è§£æ¶ãããèŠèªæ§ãåäžããŸããã
CASE 7ïŒåé€ãã¿ã³ã®ã©ãã«ã衚瀺ãããªã
åæã®ã³ãŒãã§ã¯ããã¿ã³åã¯ããã®ã«ã©ãã«ããªããŠåããã¥ããã
Copilotãžã®ä¿®æ£æç€ºïŒ
ð¬ãåé€ãã¿ã³ã®åã«ã©ãã«âæäœâã远å ããŠã»ããã
è¿ã£ãŠããã³ãŒãïŒ
deleteButtonCol.HeaderText = "æäœ";
deleteButtonCol.Text = "åé€";
deleteButtonCol.UseColumnTextForButtonValue = true;
ããã«ãããåã©ãã«ãšãã¿ã³æåã®äž¡æ¹ãæç€ºçã«è¡šç€ºãããããã«ãªãããŠãŒã¶ãŒãããã«çè§£ã§ããUIã«é²åããŸããã
CASE 8ïŒæªå®çŸ©ã®ã€ãã³ããã³ãã©ã«ãããã«ããšã©ãŒ
äŸïŒ
error CS0103: çŸåšã®ã³ã³ããã¹ãã« 'BtnPlay_Click' ãšããååã¯ååšããŸãã
åå ïŒ
- Designer.csã§ã¯ã€ãã³ãç»é²ãããŠããã®ã«ã
Form1.cs
ã«å¯Ÿå¿ã¡ãœããããªã
察å¿ïŒ
- Copilotã«ãã€ãã³ããã³ãã©ããªãããã§ãã«ãã§ããªãããšäŒãã
- AIã
BtnPlay_Click
,BtnPause_Click
ãªã©ã®ç©ºã¡ãœããããã¹ãŠçæããŠããã
ããã§ãã«ããšã©ãŒã¯ãã¹ãŠè§£æ¶ãããæ©èœãåäœããããã«ãªããŸããã
ãŸãšãïŒãšã©ãŒã¯ãããâCopilotãæŽ»èºãããã£ã³ã¹â
ãã®åãéããŠåãã£ãã®ã¯ãããšã©ãŒãèµ·ãããšãããçæAIãæãé Œããããšããããšã§ãã
ãã©ãã« | Copilotã®å¯Ÿå¿ | 广 |
---|---|---|
C# 7.3ã§ã®æ§æãšã©ãŒ |
using var ã using (...) ã§ä¿®æ£ |
ãã«ãæå |
ffmpegãèŠã€ãããªã | èªåDLãšé 眮ã³ãŒãã®çæ | ãŠãŒã¶ãŒæéãŒã |
LibVLCäŸåäžè¶³ | å¿ èŠDLLã»pluginsã®ååŸæ¡ãæç€º | åç»åçå¯èœ |
ãžã§ãäžå | æéæ¯èŒããªããŒã·ã§ã³è¿œå | å®å®åŠç |
UI朰ã | 座æšèª¿æŽã³ãŒãã®ææ¡ | èŠèªæ§åäž |
Copilotã«äŒããã¹ãã¯ããã£ãŠã»ããããšãã§ã¯ãªããäœãå°ã£ãŠããããã
ãã®èŠç¹ã§ããã³ãããæžãã°ãAIã¯åå åæïŒè§£æ±ºçãã»ããã§æç€ºããŠãããŸãã
次åïŒãé åžèšèšç·šã
ããããã¢ããªã宿ããããæ¬¡ã«èããã¹ãã¯ãã©ãé åžããããã§ãã
çæAIãšå
±ã«éçºãããã®ããŒã«ããffmpegãLibVLCãšãã£ãå€éšäŸåãã¡ã€ã«ãå«ããããåãªã .exe
ãã¡ã€ã«ã ãã§é
åžããã®ã¯äžååã
ã§ããCopilotã«ããŠãŒã¶ãŒã1ã€ã®ZIPã§åãåããããã«ãããããšäŒããã ãã§ããã©ã«ãæ§æãããã±ãŒãžã³ã°ã®ã¢ã€ãã¢ãŸã§æäŸããŠãããŸããã
第9åã§ã¯ã以äžã®ãããªå 容ãåãäžããŸãïŒ
- ð§³ ãã«ãåºåïŒå€éšDLLããŸãšãããã©ã«ãæ§æ
- ð
ffmpeg.exe
,libvlc.dll
,plugins
ã®é çœ®å Žæ - ð READMEã«æžãã¹ãå°å ¥æé ãšæ³šæäºé
- ð ãŠãŒã¶ãŒèŠç¹ã§ã®ãæã䜿ããããé åžæ¹æ³ã
- ðŠ ZIPã§ãŸãšããŠé ãææ³ãšå±æ