2016-10-04 5 views
8

CDからトラックをインポートする必要がありますが、それまではこれを行うことができません。私は正常にCDから.mp3または他の多くのオーディオ形式をインポートできます。最初にインポートするために、私はファイルとCDのフォルダをスキャンします。次に、ユーザーにファイルのリストを表示し、ユーザーがリストから選択したファイルをコピーします。私は、この関数にCDのパスを渡しWindows 10 UniversalアプリでCDから.CDAトラックをインポートするには?

List<StorageFile> allTrackFiles = null; 
    private async Task GetFiles(StorageFolder folder) 
    { 
     if(!scanningRemovableTask) 
     { 
      return; 
     } 
     try 
     { 

     if(allTrackFiles == null) 
     { 
      allTrackFiles = new List<StorageFile>(); 
     } 
     var items = await folder.GetItemsAsync(); 

     foreach (var item in items) 
     { 
       if (item.GetType() == typeof(StorageFile)) 
       { 
        StorageFile storageFile = item as StorageFile; 
        allTrackFiles.Add(storageFile); 

        var basicProperties = await storageFile.GetBasicPropertiesAsync(); 
        var musicProperties = await storageFile.OpenReadAsync(); 
       } 
       else 
        await GetFiles(item as StorageFolder); 
     } 

     } 
     catch(Exception e) 
     { 

     } 
    }  

、それは私のためにファイルのリストを作成します。

はここDirectoryやCDをスキャンするための私のコードです。このコードは、CDに.mp3または有名なオーディオフォーマットしかない場合に正常に動作します。しかし、CDに.CDA拡張トラックがあるときに問題を引き起こします。 .CDAファイル自体は再生されませんが、元のメディアファイルへのショートカットにすぎません。

今、私は今すぐ立ち往生しています。 .CDAファイルを読み込む方法、または.CDAファイルをユニバーサルWindowsアプリケーションのローカルディレクトリにインポートする方法。

+0

同義です。 .CDAはUWPでサポートされますか? – Mikewhat

+0

答えを知りません....私も解決策を探しています! –

答えて

6

短い答え:これはCDAファイルでは不可能です。

長い回答:CDAファイルは、CDのオーディオトラックごとにWindowsによって生成されたスタブファイルです。これらのファイルには、実際のオーディオデータは含まれていません。そこに含まれるのは、ディスク上の各トラックが開始および停止する場所です。ファイルがCDからコンピュータに「コピー」された場合、それはディスクの一部へのショートカットだけなので、単独で使用することはできません。オーディオCDはファイルシステムディスクとしてフォーマットされていません。ファイルとしてアクセスすることはできません。そのため、WindowsではCDAファイルが作成されます。簡単に見えるように、トラック用のファイルを含むドライブとしてCDを表示します。

ファイルではなくオーディオトラックとして、実際のオーディオトラックをディスクから読み込むことができるライブラリを使用する必要があります。 CDAを使用する適切な方法は、実際のオーディオトラックへの参照として使用し、ファイルにリッピングし、リッピングされたファイルをロードすることです。

ネイティブのWindows Media Interfaceを使用して、オーディオトラックをリッピングすることができます。私はまた、カスタムリッパーを使用していると思われるCode Project Tutorialが見つかりました。彼らはあなたが正しい方向に進むようにすべきです。

+0

コードプロジェクトチュートリアルはWindowsフォームアプリケーション用ではありませんか?私はUWPでそれを使用しようとしています!!ユニバーサルWindowsプラットフォームで使用することは可能ですか? –

+0

実際に私はUWPやデスクトップアプリケーションであまり経験がありません....あなたが私に前進するために私にもっと指示を与えるなら、本当に役に立ちます... BTW答えに感謝します... –

+0

コードプロジェクトチュートリアルでは、 CDDriveという名前のクラスです。最初の例は、それを使用する方法を示しています。私はコードを覗いて、ネイティブのWindows API呼び出しを使用します。オーディオCDの読み込みの低レベルの性質を考えると、OSに依存する方法はないかもしれません。これがどのように普遍的なWindowsアプリケーションに変換されるのか分かりません。それはうまくいくかもしれません。試してみてください。 – Jaguir

関連する問題