<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja-JP"><title type="html">川西 裕幸のブログ</title><subtitle type="html">Windows Graphics &amp; Presentaiton Technologies for Developers</subtitle><id>http://blogs.msdn.com/hiroyuk/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/hiroyuk/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2009-09-15T11:50:40Z</updated><entry><title>タスク並列ライブラリー（TPL）のBeta2での更新</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/11/09/9919402.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/11/09/9919402.aspx</id><published>2009-11-09T06:03:49Z</published><updated>2009-11-09T06:03:49Z</updated><content type="html">&lt;p&gt;pfxteam ブログに .NET 4 Beta 2 での TPL の更新について3＋1回で紹介されています。&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/pfxteam/archive/2009/10/19/9909371.aspx"&gt;What’s new in Beta 2 for the Task Parallel Library? (Part 1/3)&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;キャンセル&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/pfxteam/archive/2009/10/27/9913610.aspx"&gt;What’s new in Beta 2 for the Task Parallel Library? (Part 2/3)&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;デフォルトでタスクをデタッチ&lt;/li&gt;      &lt;li&gt;ContinueWhenAny / ContinueWhenAll のリファクタリング&lt;/li&gt;      &lt;li&gt;UnobservedTaskExceptionイベント&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/pfxteam/archive/2009/11/04/9917581.aspx"&gt;What’s new in Beta 2 for the Task Parallel Library? (Part 3/3)&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;ネストされたタスクとアンラップ&lt;/li&gt;      &lt;li&gt;Parallel 名前空間の変更&lt;/li&gt;      &lt;li&gt;その他&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/pfxteam/archive/2009/11/05/9918226.aspx"&gt;What's New in Beta 2 for PLINQ&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9919402" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Parallel" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Parallel/default.aspx" /></entry><entry><title>Visual Studio 2010 &amp; .NET 4 Beta 2（日本語版）</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/11/05/9917800.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/11/05/9917800.aspx</id><published>2009-11-05T07:40:00Z</published><updated>2009-11-05T07:40:00Z</updated><content type="html">&lt;P&gt;Visual Studio 2010 &amp;amp; .NET 4 Beta 2 の日本語版が &lt;A href="http://msdn.microsoft.com/ja-jp/subscriptions/default.aspx?lc=1041" mce_href="http://msdn.microsoft.com/ja-jp/subscriptions/default.aspx?lc=1041"&gt;MSDN Subscription&lt;/A&gt; で公開されました。それに伴い、MSDN Library のドキュメントも Beta 2 に更新されています。&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/ja-jp/library/w0x726c2(VS.100).aspx" mce_href="http://msdn.microsoft.com/ja-jp/library/w0x726c2(VS.100).aspx"&gt;.NET Framework ４&lt;/A&gt; の並列プログラミングのタイトル“Parallel Programming in the .NET Framework” は「.NET Framework でのプログラミングを並列します」から「&lt;A href="http://msdn.microsoft.com/ja-jp/library/dd460693(VS.100).aspx" mce_href="http://msdn.microsoft.com/ja-jp/library/dd460693(VS.100).aspx"&gt;.NET Framework で並列プログラミング&lt;/A&gt;」になっています。&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9917800" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Misc" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Misc/default.aspx" /></entry><entry><title>MVVM パターンの実装を容易にする WPF Starter Kit</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/11/04/9917083.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/11/04/9917083.aspx</id><published>2009-11-04T01:20:55Z</published><updated>2009-11-04T01:20:55Z</updated><content type="html">&lt;p&gt;Codeplexに、WPFでの MVVM パターンの実装を容易にする &lt;a href="http://wpfstarterkit.codeplex.com/"&gt;WPF Starter Kit&lt;/a&gt; が公開されています。これは US Microsoftのコンサルタントが開発しており、以下の内容が含まれています。&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;View/ViewModel間の明確なナビゲーションを可能にするナビゲーション フレームワーク&lt;/li&gt;    &lt;li&gt;ViewModelどおしのデータ渡しのサポート&lt;/li&gt;    &lt;li&gt;汎用的な例外処理&lt;/li&gt;    &lt;li&gt;UI スレッドでの長期実行操作のサポート&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://wpfstarterkit.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=35301"&gt;ダウンロードページ&lt;/a&gt;に解説用のPPTもあります。&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9917083" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Windows Presentation Foundation" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Windows+Presentation+Foundation/default.aspx" /></entry><entry><title>同時実行コンテナ in VS2010 Beta 2</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/11/02/9915988.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/11/02/9915988.aspx</id><published>2009-11-02T01:21:03Z</published><updated>2009-11-02T01:21:03Z</updated><content type="html">&lt;p&gt;スレッドセーフでロックフリーのデータコレクション（同時実行コンテナ）concurrent_queueとconcurrent_vector は、PDC 08で紹介されていましたが、Visual Studio 2010 Beta 1 には実装されていませんでした。&lt;/p&gt;  &lt;p&gt;Parellel Programming for Native Code ブログ「&lt;a href="http://blogs.msdn.com/nativeconcurrency/archive/2009/10/29/what-s-new-in-beta-2-for-the-concurrency-runtime-parallel-pattern-library-and-asynchronous-agents-library.aspx"&gt;What’s new in Beta 2 for the Concurrency Runtime, Parallel Pattern Library and Asynchronous Agents Library&lt;/a&gt;」によると、Beta 2 にはこの2つのコンテナが入っているとのことです。&lt;/p&gt;  &lt;p&gt;このブログではそれ以外の Beta 2 での更新内容（デバッグ、ドキュメント、task_groupなど）も紹介されています。&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9915988" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Parallel" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Parallel/default.aspx" /><category term="Win32" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Win32/default.aspx" /></entry><entry><title>コントロールのカスタマイズ ＠ WPF 4 ドキュメント</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/10/30/9915062.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/10/30/9915062.aspx</id><published>2009-10-30T01:37:00Z</published><updated>2009-10-30T01:37:00Z</updated><content type="html">&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/w0x726c2(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/w0x726c2(VS.100).aspx"&gt;.NET Framework 4 Beta 2 ドキュメント&lt;/A&gt;（英語）がオンラインで公開されています。WPF 4 のコンテンツもこの中にあります。&lt;/P&gt;
&lt;P&gt;“&lt;A href="http://msdn.microsoft.com/en-us/library/ms752069(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms752069(VS.100).aspx"&gt;Controls&lt;/A&gt;” の章はかなり更新されています。どうやって既存のコントロールをカスタマイズするかという内容が追加されており、”&lt;A href="http://msdn.microsoft.com/en-us/library/ms752043(VS.100).aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms752043(VS.100).aspx"&gt;Control Customization&lt;/A&gt;” の項目もあります。Controls の目次は以下の通りです。&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Controls Overview &lt;/LI&gt;
&lt;LI&gt;Walkthroughs: Create a Custom Animated Button &lt;/LI&gt;
&lt;LI&gt;Control Library &lt;/LI&gt;
&lt;LI&gt;Control Customization &lt;/LI&gt;
&lt;LI&gt;Controls by Category &lt;/LI&gt;
&lt;LI&gt;WPF Content Model &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;WPFのコントロールはStyleやControlTemplateなどを使ってかなりカスタマイズできるのですが、これまであまりドキュメント化されていなかったので、その習得に時間がかかりました。&lt;/P&gt;
&lt;P&gt;Beta 2 でも機械翻訳かもしれませんが、日本語版が出るのが楽しみです。&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9915062" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Windows Presentation Foundation" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Windows+Presentation+Foundation/default.aspx" /></entry><entry><title>並列プログラム サンプル for .NET 4 の更新</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/10/28/9913907.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/10/28/9913907.aspx</id><published>2009-10-28T05:28:00Z</published><updated>2009-10-28T05:28:00Z</updated><content type="html">code.msdnで公開されている &lt;A href="http://code.msdn.microsoft.com/ParExtSamples" mce_href="http://code.msdn.microsoft.com/ParExtSamples"&gt;並列プログラム サンプル for .NET 4&lt;/A&gt; がベータ２用に更新されました。サンプルの数も倍増しており、「食事する哲学者」などが追加されています。&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9913907" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Parallel" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Parallel/default.aspx" /></entry><entry><title>Visual Studio 2010 におけるタスクベースの並列アプリケーションのデバッグ</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/10/22/9910942.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/10/22/9910942.aspx</id><published>2009-10-21T21:44:00Z</published><updated>2009-10-21T21:44:00Z</updated><content type="html">&lt;P&gt;MSDNマガジン９月号日本語版に&lt;A href="http://msdn.microsoft.com/ja-jp/magazine/ee410778.aspx?rss_fdn=MSDNTopNewInfo" mce_href="http://msdn.microsoft.com/ja-jp/magazine/ee410778.aspx?rss_fdn=MSDNTopNewInfo"&gt;VS2010の並列デバッガーの記事&lt;/A&gt;が載っています。この号のいくつかの記事は機械翻訳ですが、幸いなことにこの記事は人間翻訳のようです。レイアウトが崩れいているところがあるのが、残念ですが...&lt;/P&gt;
&lt;P&gt;VS2010の新機能である並列タスク ウィンドウと並列スタック ウィンドウの使い方が解説されています。&lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://msdn.microsoft.com/ee410778.parallel_stack_1(en-us).gif" mce_src="http://msdn.microsoft.com/ee410778.parallel_stack_1(en-us).gif"&gt;&lt;/P&gt;
&lt;P&gt;&lt;IMG alt="" src="http://msdn.microsoft.com/ee410778.parallel_tasks_1(en-us).gif" mce_src="http://msdn.microsoft.com/ee410778.parallel_tasks_1(en-us).gif"&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9910942" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Parallel" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Parallel/default.aspx" /></entry><entry><title>Silverlight Toolkit (October 2009)</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/10/21/9910237.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/10/21/9910237.aspx</id><published>2009-10-20T22:51:56Z</published><updated>2009-10-20T22:51:56Z</updated><content type="html">&lt;p&gt;CodePlexに&lt;a href="http://silverlight.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30514"&gt;Silverlight Toolkit (October 2009)&lt;/a&gt;が公開されました。以下の機能が追加されています。&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Visual Studio 2010 Beta2でのデザイン用のメタデータ&lt;/li&gt;    &lt;li&gt;ドラッグ＆ドロップ（&lt;a href="http://themechanicalbride.blogspot.com/2009/08/new-with-silverlight-toolkit-drag-and.html"&gt;詳細&lt;/a&gt;）&lt;/li&gt;    &lt;li&gt;グラフの改善（&lt;a href="http://blogs.msdn.com/delay/archive/2009/09/13/a-preview-of-upcoming-charting-changes-silverlight-wpf-data-visualization-development-release-1.aspx"&gt;詳細&lt;/a&gt;）&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;このツールキットには以下のコントロールが含まれています。&lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="0"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="399"&gt;         &lt;p&gt;&lt;b&gt;&lt;font color="#808080"&gt;SDKに含まれているもの&lt;/font&gt;&lt;/b&gt;&lt;font color="#808080"&gt;AutoCompleteBox             &lt;br /&gt;Calendar              &lt;br /&gt;ChildWindow              &lt;br /&gt;DataGrid              &lt;br /&gt;DataPager              &lt;br /&gt;DatePicker              &lt;br /&gt;GridSplitter              &lt;br /&gt;HeaderedItemsControl              &lt;br /&gt;TabControl              &lt;br /&gt;TreeView&lt;/font&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="399"&gt;         &lt;p&gt;&lt;strong&gt;安定版&lt;/strong&gt;            &lt;br /&gt;DockPanel            &lt;br /&gt;Expander            &lt;br /&gt;HeaderedContentControl            &lt;br /&gt;Label            &lt;br /&gt;NumericUpDown            &lt;br /&gt;Viewbox            &lt;br /&gt;WrapPanel&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="399"&gt;         &lt;p&gt;&lt;strong&gt;プレビュー版&lt;/strong&gt;            &lt;br /&gt;Accordion            &lt;br /&gt;Charting            &lt;br /&gt;DataForm            &lt;br /&gt;DomainUpDown            &lt;br /&gt;ImplicitStyleManager            &lt;br /&gt;LayoutTransformer            &lt;br /&gt;Rating            &lt;br /&gt;TimePicker            &lt;br /&gt;TimeUpDown            &lt;br /&gt;&lt;i&gt;11 のビジュアルテーマ&lt;/i&gt;&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="399"&gt;         &lt;p&gt;&lt;strong&gt;実験版&lt;/strong&gt;            &lt;br /&gt;GlobalCalendar            &lt;br /&gt;TransitioningContentControl            &lt;br /&gt;TreeMap            &lt;br /&gt;Drag and Drop support for items controls&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9910237" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Silverlight" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Silverlight/default.aspx" /></entry><entry><title>Visual studio 2010 &amp; .NET 4 Beta2（英語版）</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/10/20/9909678.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/10/20/9909678.aspx</id><published>2009-10-20T06:07:00Z</published><updated>2009-10-20T06:07:00Z</updated><content type="html">&lt;P&gt;VS2010 &amp;amp; .NET 4 Beat2 英語版が &lt;A href="https://msdn.microsoft.com/ja-jp/subscriptions/default.aspx?lc=1041" mce_href="https://msdn.microsoft.com/ja-jp/subscriptions/default.aspx?lc=1041"&gt;MSDN&amp;nbsp; サブスクリプション&lt;/A&gt;で公開されました。日本語版も近々公開される予定のようです。&lt;/P&gt;
&lt;P&gt;VS2010 のエディションは新しく次のエディション名になりました。Officeみたいですね。&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;B&gt;Microsoft Visual Studio 2010 Ultimate with MSDN&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Microsoft Visual Studio 2010 Premium with MSDN&lt;/B&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;B&gt;Microsoft Visual Studio 2010 Professional with MSDN&lt;/B&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;【追記】ダウンロードセンターからもダウンロードできるようになりました。詳しくは&lt;A href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx" mce_href="http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx"&gt;VS2010のページ&lt;/A&gt;（英語）。&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9909678" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Misc" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Misc/default.aspx" /></entry><entry><title>WPF Text ブログ</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/10/08/9904703.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/10/08/9904703.aspx</id><published>2009-10-08T05:36:15Z</published><updated>2009-10-08T05:36:15Z</updated><content type="html">&lt;p&gt;WPF 4 テキスト＆レイアウトの新機能が&lt;a href="http://blogs.msdn.com/text/"&gt;WPF Text ブログ&lt;/a&gt;に公開されています。現在のところ以下のような内容が公開されています。&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/text/archive/2009/10/02/custom-dictionaries.aspx"&gt;カスタム辞書&lt;/a&gt;（スペルチェック、英・西・独・仏のみ）&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/text/archive/2009/09/01/bindable-run.aspx"&gt;バインディング可能な Run&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/text/archive/2009/09/01/caret-brush.aspx"&gt;キャレット ブラシ&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/text/archive/2009/08/28/selection-brush.aspx"&gt;選択ブラシ&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/text/archive/2009/08/27/layout-rounding.aspx"&gt;レイアウトの丸め&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/text/archive/2009/08/24/wpf-4-0-text-stack-improvements.aspx"&gt;テキスト スタックの改善&lt;/a&gt;&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;テキスト フォーマット&lt;/li&gt;      &lt;li&gt;テキスト レンダリング&lt;/li&gt;      &lt;li&gt;組み込みビットマップ フォント（MSゴシックを含む東アジア言語）&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9904703" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Windows Presentation Foundation" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Windows+Presentation+Foundation/default.aspx" /></entry><entry><title>札幌イノベーション ディ 2009</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/10/05/9903086.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/10/05/9903086.aspx</id><published>2009-10-05T09:33:28Z</published><updated>2009-10-05T09:33:28Z</updated><content type="html">&lt;p&gt;10月21日（水）に&lt;a href="http://www.sec.or.jp/elecen/innovation/index.html"&gt;札幌イノベーション ディ 2009&lt;/a&gt;が東札幌の「札幌市産業振興センター」で開催されます。私も以下の2つの内容で講演させていただきます。&lt;/p&gt;  &lt;p&gt;&lt;b&gt;『Windows 7のユーザー エクスペリエンス』&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;概 要   &lt;br /&gt;Windows 7のデスクトップには、マルチタッチや新しいタスクバーなどの新しいユーザー エクスペリエンスが搭載されています。本講演では、これらの新しいユーザー エクスペリエンスの詳細を解説するとともに、先日公開されたWindows ユーザー エクスペリエンス ガイドラインを紹介します&lt;/p&gt;  &lt;p&gt;&lt;b&gt;『RIAプラットフォーム Silverlight 3と     &lt;br /&gt;オーサリング ツール Expression Blend 3 の紹介』&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;概 要   &lt;br /&gt;マイクロソフトの RIA プラットフォームである Silverlight 3 の、メディア・グラフィックスに追加された新機能および新しいOut of Browser機能を解説するとともに、そのオーサリングツール Expression Blend 3に搭載されたプロトタイピング機能 SketchFlowを利用した画面設計プロセスを紹介します。&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9903086" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Misc" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Misc/default.aspx" /><category term="User Experience" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/User+Experience/default.aspx" /></entry><entry><title>CESA ゲーム開発技術ロードマップ</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/10/03/9902653.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/10/03/9902653.aspx</id><published>2009-10-03T04:06:25Z</published><updated>2009-10-03T04:06:25Z</updated><content type="html">&lt;p&gt;&lt;a href="http://cedec.cesa.or.jp/2009/contents/roadmap.html"&gt;CESA ゲーム開発技術ロードマップ&lt;/a&gt;が公開されました。現在ゲームに使われている技術と、数年後に使われるであろう技術項目をリストして、ゲーム開発者だけではなく研究者や学生と議論するベースとなるたたき台となるものであり、内容は毎年見直すとのことです。&lt;/p&gt;  &lt;p&gt;以下の5つの分野の内容が公開されています。これらの項目を見るだけで現在のゲームがいかにさまざまな技術が統合されてできているかがわかりますね。&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;プログラミング分野&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;プログラミング一般&lt;/li&gt;      &lt;li&gt;コンピューター グラフィックス&lt;/li&gt;      &lt;li&gt;AI&lt;/li&gt;      &lt;li&gt;物理&lt;/li&gt;      &lt;li&gt;アニメーション&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;ビジュアルアーツ分野&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;レンダリング&lt;/li&gt;      &lt;li&gt;アニメーション&lt;/li&gt;      &lt;li&gt;グラフィック デザイン&lt;/li&gt;      &lt;li&gt;オーサリング プロダクション&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;ゲームデザイン分野&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;ゲームシステム&lt;/li&gt;      &lt;li&gt;生産性と品質の向上&lt;/li&gt;      &lt;li&gt;気にしなければならない周辺技術&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;サウンド分野&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;DSP&lt;/li&gt;      &lt;li&gt;シンセサイズ、波形生成、音声合成、音声解析&lt;/li&gt;      &lt;li&gt;オーサリング環境、圧縮フォーマット&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;ネットワーク分野&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;個人所有データの概念の拡大&lt;/li&gt;      &lt;li&gt;P2P利用とリソース共有&lt;/li&gt;      &lt;li&gt;Web技術を取り入れたネットワーク環境の構築&lt;/li&gt;      &lt;li&gt;ゲーム コミュニティ統合&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9902653" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Misc" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Misc/default.aspx" /><category term="CEDEC" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/CEDEC/default.aspx" /></entry><entry><title>Silverlight でビデオの巻き戻し・早送り</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/09/24/9898828.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/09/24/9898828.aspx</id><published>2009-09-24T09:33:28Z</published><updated>2009-09-24T09:33:28Z</updated><content type="html">&lt;p&gt;WPF の &lt;a href="http://msdn.microsoft.com/ja-jp/library/system.windows.controls.mediaelement(VS.80).aspx"&gt;MediaElement&lt;/a&gt;には &lt;a href="http://msdn.microsoft.com/ja-jp/library/system.windows.controls.mediaelement.speedratio(VS.80).aspx"&gt;SpeedRatio&lt;/a&gt; プロパティがあるので再生速度の変更（早送り）が可能です、また再生速度については MediaClock や MediaTimeline を見ることもできます。しかし、Silverlight の MediaElement にはそのようなプロパティがなく、再生速度の調整はできません。&lt;/p&gt;  &lt;p&gt;しかし Silverlight の &lt;a href="http://msdn.microsoft.com/ja-jp/library/bb980132(VS.95).aspx"&gt;MediaElement&lt;/a&gt; にも &lt;a href="http://msdn.microsoft.com/ja-jp/library/bb979677(VS.95).aspx"&gt;Position&lt;/a&gt; プロパティはあるので、メディア ファイルが正しくロードされていれば、任意の位置に移動できます。任意の位置に移動するとその位置での静止画が表示されます。&lt;/p&gt;  &lt;p&gt;Silverlight ビデオ早送りのアイデアは、DispatcherTimer で100ミリ秒ごとにコールバックを呼び出し、N倍速のときN*100ミリ秒分だけPositionを変更するというものです。つまり4倍速早送りなら4*100ミリ秒、8倍巻き戻しなら   &lt;br /&gt;-8*100ミリ秒だけPositionを進めるのです。&lt;/p&gt;  &lt;p&gt;通常ビデオは30fps（33ミリ秒）なので、少しカクカクしますが、早送りなのであまり目立ちません。また、再生していないので早送り・巻き戻し中に音は出ません。&lt;/p&gt;  &lt;p&gt;XAMLでは以下のように一連のボタンと MediaElement（myMediaElement） とプログレスバーが配置されているとします。&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/hiroyuk/WindowsLiveWriter/Silverlight_D61A/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://blogs.msdn.com/blogfiles/hiroyuk/WindowsLiveWriter/Silverlight_D61A/image_thumb.png" width="244" height="237" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;コードビハインドは以下のようになります。キモは赤字にした Position の変更です。&lt;/p&gt;  &lt;p style="text-align: left; mso-layout-grid-align: none" class="MsoNormal" align="left"&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;//&lt;/span&gt;&lt;span style="font-family: &amp;quot;ＭＳ 明朝&amp;quot;,&amp;quot;serif&amp;quot;; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes; mso-ascii-font-family: consolas; mso-fareast-font-family: &amp;#39;ＭＳ 明朝&amp;#39;; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: consolas; mso-bidi-font-family: consolas"&gt;&lt;font size="1" face="メイリオ"&gt;速度レート&lt;/font&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;internal&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;span style="color: blue"&gt;enum&lt;/span&gt; &lt;span style="color: #2b91af"&gt;Speed&lt;/span&gt;:&lt;span style="color: blue"&gt;int&lt;/span&gt;       &lt;br /&gt;&amp;#160; {back8=-8, back4=-4, pause= -1, stop = 0,       &lt;br /&gt;&amp;#160;&amp;#160; play=1, forward4=4, forward8=8};      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;internal&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;span style="color: blue"&gt;int&lt;/span&gt; currentSpeedRate = (&lt;span style="color: blue"&gt;int&lt;/span&gt;)&lt;span style="color: #2b91af"&gt;Speed&lt;/span&gt;.stop;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;//&lt;/span&gt;&lt;span style="font-family: &amp;quot;ＭＳ 明朝&amp;quot;,&amp;quot;serif&amp;quot;; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes; mso-ascii-font-family: consolas; mso-fareast-font-family: &amp;#39;ＭＳ 明朝&amp;#39;; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: consolas; mso-bidi-font-family: consolas"&gt;&lt;font size="1" face="メイリオ"&gt;タイマー&lt;/font&gt;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;internal&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;span style="color: #2b91af"&gt;DispatcherTimer&lt;/span&gt; timer = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;DispatcherTimer&lt;/span&gt;();      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;//&lt;/span&gt;&lt;font size="1"&gt;&lt;font face="メイリオ"&gt;&lt;span style="font-family: &amp;quot;ＭＳ 明朝&amp;quot;,&amp;quot;serif&amp;quot;; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes; mso-ascii-font-family: consolas; mso-fareast-font-family: &amp;#39;ＭＳ 明朝&amp;#39;; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: consolas; mso-bidi-font-family: consolas"&gt;タイマーの時間幅を&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;100&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;span style="font-family: &amp;quot;ＭＳ 明朝&amp;quot;,&amp;quot;serif&amp;quot;; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes; mso-ascii-font-family: consolas; mso-fareast-font-family: &amp;#39;ＭＳ 明朝&amp;#39;; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: consolas; mso-bidi-font-family: consolas"&gt;&lt;font size="1" face="メイリオ"&gt;ミリ秒に設定       &lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;internal&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: blue"&gt;int&lt;/span&gt; timerinterval = 100;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&amp;lt;summary&amp;gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="font-family: &amp;quot;ＭＳ 明朝&amp;quot;,&amp;quot;serif&amp;quot;; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes; mso-ascii-font-family: consolas; mso-fareast-font-family: &amp;#39;ＭＳ 明朝&amp;#39;; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: consolas; mso-bidi-font-family: consolas"&gt;タイマーによるコールバック     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="font-family: &amp;quot;ＭＳ 明朝&amp;quot;,&amp;quot;serif&amp;quot;; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes; mso-ascii-font-family: consolas; mso-fareast-font-family: &amp;#39;ＭＳ 明朝&amp;#39;; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: consolas; mso-bidi-font-family: consolas"&gt;倍速・巻き戻しの時、時間幅に速度レートを掛けて     &lt;br /&gt;/// メディアの&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;Position&lt;/span&gt;&lt;span style="font-family: &amp;quot;ＭＳ 明朝&amp;quot;,&amp;quot;serif&amp;quot;; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes; mso-ascii-font-family: consolas; mso-fareast-font-family: &amp;#39;ＭＳ 明朝&amp;#39;; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: consolas; mso-bidi-font-family: consolas"&gt;を移動     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&amp;lt;/summary&amp;gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;private void&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; timerCallback(&lt;span style="color: blue"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af"&gt;EventArgs&lt;/span&gt; e)      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;{     &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;if&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; (currentSpeedRate &amp;lt; (&lt;span style="color: blue"&gt;int&lt;/span&gt;)&lt;span style="color: #2b91af"&gt;Speed&lt;/span&gt;.pause ||       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; currentSpeedRate &amp;gt; (&lt;span style="color: blue"&gt;int&lt;/span&gt;)&lt;span style="color: #2b91af"&gt;Speed&lt;/span&gt;.play)      &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;font color="#ff0000"&gt;myMediaElement1.Position +=        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TimeSpan&lt;/span&gt;(0, 0, 0, 0, timerinterval * currentSpeedRate);&lt;/font&gt;      &lt;br /&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;if&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; (myMediaElement1.Position&amp;gt;myMediaElement1.NaturalDuration.TimeSpan&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; || myMediaElement1.Position &amp;lt; &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TimeSpan&lt;/span&gt;())      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;{     &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;myMediaElement1.Stop();      &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&lt;span style="mso-spacerun: yes"&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;currentSpeedRate = (&lt;span style="color: blue"&gt;int&lt;/span&gt;)&lt;span style="color: #2b91af"&gt;Speed&lt;/span&gt;.stop;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;}     &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;}     &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;myProgressbar.Value = (&lt;span style="color: blue"&gt;double&lt;/span&gt;)myMediaElement1.Position.Ticks;      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&amp;lt;summary&amp;gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="font-family: &amp;quot;ＭＳ 明朝&amp;quot;,&amp;quot;serif&amp;quot;; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes; mso-ascii-font-family: consolas; mso-fareast-font-family: &amp;#39;ＭＳ 明朝&amp;#39;; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: consolas; mso-bidi-font-family: consolas"&gt;メディアロード時にタイマーをスタート     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&amp;lt;/summary&amp;gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; myMediaElement1_Loaded(&lt;span style="color: blue"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af"&gt;RoutedEventArgs&lt;/span&gt; e)      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;{     &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;timer.Tick += &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;EventHandler&lt;/span&gt;(timerCallback);      &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;timer.Interval = &lt;span style="color: blue"&gt;new&lt;/span&gt; &lt;span style="color: #2b91af"&gt;TimeSpan&lt;/span&gt;(0, 0, 0, 0, timerinterval);      &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;timer.Start();     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&amp;lt;summary&amp;gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="font-family: &amp;quot;ＭＳ 明朝&amp;quot;,&amp;quot;serif&amp;quot;; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes; mso-ascii-font-family: consolas; mso-fareast-font-family: &amp;#39;ＭＳ 明朝&amp;#39;; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: consolas; mso-bidi-font-family: consolas"&gt;倍速・巻き戻しボタンが押された時のコールバック     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="font-family: &amp;quot;ＭＳ 明朝&amp;quot;,&amp;quot;serif&amp;quot;; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes; mso-ascii-font-family: consolas; mso-fareast-font-family: &amp;#39;ＭＳ 明朝&amp;#39;; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: consolas; mso-bidi-font-family: consolas"&gt;メディアをポーズにして速度レートを設定     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;///&lt;/span&gt;&lt;span style="font-family: consolas; color: green; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;/span&gt;&lt;span style="font-family: consolas; color: gray; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;&amp;lt;/summary&amp;gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;private&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Button_Click(&lt;span style="color: blue"&gt;object&lt;/span&gt; sender, &lt;span style="color: #2b91af"&gt;RoutedEventArgs&lt;/span&gt; e)      &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;{     &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;myMediaElement1.Pause();     &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; color: #2b91af; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;Button&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; b = (&lt;span style="color: #2b91af"&gt;Button&lt;/span&gt;)sender;      &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;switch&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; ((&lt;span style="color: blue"&gt;string&lt;/span&gt;)b.Content)      &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;span style="color: #a31515"&gt;&amp;quot;&amp;lt;&amp;lt;8&amp;quot;&lt;/span&gt;:      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;currentSpeedRate = (&lt;span style="color: blue"&gt;int&lt;/span&gt;)&lt;span style="color: #2b91af"&gt;Speed&lt;/span&gt;.back8;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;span style="color: #a31515"&gt;&amp;quot;&amp;lt;&amp;lt;4&amp;quot;&lt;/span&gt;:      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;currentSpeedRate = (&lt;span style="color: blue"&gt;int&lt;/span&gt;)&lt;span style="color: #2b91af"&gt;Speed&lt;/span&gt;.back4;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;span style="color: #a31515"&gt;&amp;quot;4&amp;gt;&amp;gt;&amp;quot;&lt;/span&gt;:      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;currentSpeedRate = (&lt;span style="color: blue"&gt;int&lt;/span&gt;)&lt;span style="color: #2b91af"&gt;Speed&lt;/span&gt;.forward4;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;case&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt; &lt;span style="color: #a31515"&gt;&amp;quot;8&amp;gt;&amp;gt;&amp;quot;&lt;/span&gt;:      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;currentSpeedRate = (&lt;span style="color: blue"&gt;int&lt;/span&gt;)&lt;span style="color: #2b91af"&gt;Speed&lt;/span&gt;.forward8;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; color: blue; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;break&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;;     &lt;br /&gt;&amp;#160; &lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;}     &lt;br /&gt;&lt;/span&gt;&lt;span style="font-family: consolas; font-size: 8pt; mso-bidi-font-size: 10.0pt; mso-font-kerning: 0pt; mso-no-proof: yes" lang="EN-US"&gt;}&lt;/span&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9898828" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Silverlight" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Silverlight/default.aspx" /></entry><entry><title>STM.NET</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/09/21/9897372.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/09/21/9897372.aspx</id><published>2009-09-21T06:34:29Z</published><updated>2009-09-21T06:34:29Z</updated><content type="html">&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/devlabs/ee334183.aspx"&gt;Software Transactional Memory for .NET Framework&lt;/a&gt;（STM.NET） が &lt;a href="http://msdn.microsoft.com/devlabs"&gt;MSDN Devlab&lt;/a&gt; に公開されています。これは .NET Framework 4 Beta 1（つまり VS2010 Beta1）といっしょに使うことができます。STM は並列プログラミングにとって重要な要素の一つであり、このリリースでは以下の項目がサポートされています。&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;ツールのサポート      &lt;ul&gt;       &lt;li&gt;デバッグ &lt;/li&gt;        &lt;li&gt;ETW トレース &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;ロックの相互運用性 &lt;/li&gt;    &lt;li&gt;伝統的なトランザクションとの相互運用性      &lt;ul&gt;       &lt;li&gt;out of the box での MSMQ のサポート&amp;#160; &lt;/li&gt;        &lt;li&gt;このサポートを、繰り延べや補償アクションに強化 &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;以下の指定ができるアノテーション：      &lt;ul&gt;       &lt;li&gt;メソッドは、あるトランザクションに、run in, not run in, may run in のいずれかでなければならない &lt;/li&gt;        &lt;li&gt;フィールドはあるトランザクション内でアクセスされなければならない &lt;/li&gt;        &lt;li&gt;このメソッドのためにトランザクションを止める&amp;#160; &lt;/li&gt;        &lt;li&gt;トランザクション 呼び出しを他のメソッドにリダイレクトする &lt;/li&gt;        &lt;li&gt;アノテーションの清適・動的なチェック &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;組み込みBCLライブラリーと型の多くをサポート &lt;/li&gt;    &lt;li&gt;以下のために CLR に多数の追加を行った      &lt;ul&gt;       &lt;li&gt;ガベージコレクターとの統合 &lt;/li&gt;        &lt;li&gt;byrefs のサポート &lt;/li&gt;        &lt;li&gt;Pay-for-play &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;詳細は&lt;a href="http://download.microsoft.com/download/9/5/6/9560741A-EEFC-4C02-822C-BB0AFE860E31/STM_User_Guide.pdf"&gt;プログラミング ガイド&lt;/a&gt;（英語）をお読みください。また、&lt;a href="http://blogs.msdn.com/stmteam/default.aspx"&gt;STMチームのブログ&lt;/a&gt;も参考にしてください。&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9897372" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Parallel" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Parallel/default.aspx" /></entry><entry><title>Dolby Digital CODEC @ Windows 7</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/hiroyuk/archive/2009/09/15/9895213.aspx" /><id>http://blogs.msdn.com/hiroyuk/archive/2009/09/15/9895213.aspx</id><published>2009-09-15T04:50:40Z</published><updated>2009-09-15T04:50:40Z</updated><content type="html">&lt;p&gt;Windows 7 上の &lt;a href="http://ja.wikipedia.org/wiki/%E3%83%89%E3%83%AB%E3%83%93%E3%83%BC%E3%83%87%E3%82%B8%E3%82%BF%E3%83%AB"&gt;Dolby Digital&lt;/a&gt; CODEC（AC-3など）には制限があるので、独自のメディア アプリケーションを開発される方は、注意してください。SDK ドキュメント「&lt;a href="http://msdn.microsoft.com/en-us/library/dd390676(VS.85).aspx"&gt;Microsoft MPEG-1/DD/AAC Audio Decoder&lt;/a&gt;」によると、以下のように記述されています。&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;&amp;#160; The Microsoft implementation of the Dolby Digital technology is restricted under terms of the Dolby Digital licensing program to use by Microsoft applications.&lt;/p&gt;  &lt;p&gt;つまり、Windows 7 に搭載されている、マイクロソフトが実装した AC-3 デコーダー（DirectShow フィルター）は、マイクロソフト製品（たとえば Windows Media Player）以外では使うことができません。&lt;/p&gt;  &lt;p&gt;したがって、AC-3 でエンコードされたメディアを再生したいアプリケーション開発者は Dolby Digital からライセンスを取得し、デコーダーを実装する必要があります。&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9895213" width="1" height="1"&gt;</content><author><name>hiroyuk</name><uri>http://blogs.msdn.com/members/hiroyuk.aspx</uri></author><category term="Media Foundation" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Media+Foundation/default.aspx" /><category term="Win32" scheme="http://blogs.msdn.com/hiroyuk/archive/tags/Win32/default.aspx" /></entry></feed>