西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁(yè)編程開(kāi)發(fā)其它知識(shí) → WP8開(kāi)發(fā)從SD 卡讀取音頻文并設(shè)置為手機(jī)鈴聲

WP8開(kāi)發(fā)從SD 卡讀取音頻文并設(shè)置為手機(jī)鈴聲

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:西西整理時(shí)間:2013/3/1 18:14:15字體大小:A-A+

作者:西西點(diǎn)擊:10次評(píng)論:0次標(biāo)簽: WP8

QQ2014 for WP84.3 官方最新版
  • 類型:QQ2014大。20M語(yǔ)言:中文 評(píng)分:2.8
  • 標(biāo)簽:
立即下載

首先在Sd卡上新建一個(gè)Ringstones的文件夾 向文件內(nèi)放一些MP3格式的音頻文件 再將文件重命名為“.yumi”格式的文件

第 1 步: 指定功能    

在應(yīng)用程序清單文件中,WMAppManifest.xml,指定訪問(wèn) SD 卡的ID_CAP_REMOVEABLE_STORAGE功能。

XAML

步驟 2: 注冊(cè)擴(kuò)展                  

若要處理特定的文件類型,注冊(cè)文件關(guān)聯(lián)擴(kuò)展名。在 WMAppManifest.xml 中指定的擴(kuò)展名。

 后的標(biāo)記元素,里面的擴(kuò)展元素,只是下面的FileTypeAssociation元素與指 定文件關(guān)聯(lián)擴(kuò)展名。

 1  
 2       
 3         
 4           Assets/Route_Mapper_Logo33x33.png
 5           Assets/Route_Mapper_Logo69x69.png
 6           Assets/Route_Mapper_Logo176x176.png
 7         
 8         
 9           .yumi
10         
11       
12     

步驟3: 從 SD 卡中獲取文件

// 連接當(dāng)前的SDCard
ExternalStorageDevice _sdCard = (await ExternalStorage.GetExternalStorageDevicesAsync()).FirstOrDefault();

// 如果sd卡存在連接Ringstone文件夾.
if (_sdCard != null)
{
    try
    {
         ExternalStorageFolder routesFolder = await _sdCard.GetFolderAsync("Ringstones");

        IEnumerable routeFiles = await routesFolder.GetFilesAsync();

      
        foreach (ExternalStorageFile esf in routeFiles)
        {
            if (esf.Path.EndsWith(".yumi"))
            {
                Routes.Add(esf);
            }
        }
    }
    catch (FileNotFoundException)
    {
                MessageBox.Show("你的SD卡上的Ringstones文件夾丟失。添加一個(gè)Ringstones文件夾中包含至少一個(gè)yumi文件,然后再試一次.");
    }
}
else
{
        MessageBox.Show("你的SD卡上的Ringstones文件夾丟失。添加一個(gè)Ringstones文件夾中包含至少一個(gè)yumi文件,然后再試一次.");
}

4 對(duì)讀到的文件流進(jìn)行轉(zhuǎn)換成mp3格式并設(shè)為手機(jī)鈴聲

  private async void SetRingClick( ExternalStorageFile ef)
        {
            Stream s = await ef.OpenForReadAsync();
            SaveRing(s, ef.Name);
        }
//檢查系統(tǒng)中是否存在YumiRings文件夾
  private void CreateDir()
        {
            if (store.DirectoryExists("YumiRings") == false)
            {
                store.CreateDirectory("YumiRings");
            }
        }
 
//保存為鈴聲
        private void SaveRing(Stream s,string name)
        {
            try
            {
 
 
//將讀取到的.yumi格式的文件進(jìn)行轉(zhuǎn)儲(chǔ)到軟件中并重新更改文件格式
                string filename = name.Replace("yumi", "mp3");
                 CreateDir();
                if (store.FileExists("YumiRings" + filename))
                {
                    store.DeleteFile("YumiRings" + filename);
                }
                IsolatedStorageFileStream newstream = new IsolatedStorageFileStream("YumiRings//" + filename, FileMode.Create, store);
                BinaryWriter newwriter = new BinaryWriter(newstream);
                BinaryReader tempreader = new BinaryReader(s);
                int filesize = (int)s.Length;
                byte[] TempBytes = new byte[filesize];
                TempBytes = tempreader.ReadBytes(filesize);
                newwriter.Write(TempBytes);
                newwriter.Close();
                newstream.Close();
                SetRing(filename);
            }
            catch (Exception)
            {
                return;
            }

        }

     ///啟動(dòng)手機(jī)中保存鈴聲的Task實(shí)現(xiàn)鈴聲的保存
        private void SetRing(string name)
        {
            SaveRingtoneTask saveRingtoneChooser = new SaveRingtoneTask();
            saveRingtoneChooser.Completed += new EventHandler(saveRingtoneChooser_Completed);
            try
            {
                saveRingtoneChooser.Source = new Uri("isostore:/YumiRings/" + name);
                saveRingtoneChooser.DisplayName = name.Substring(0, name.IndexOf("."));
                saveRingtoneChooser.Show();
            }
            catch (System.InvalidOperationException e)
            {
                               MessageBox.Show(e.Message);
            }
        }
        public void saveRingtoneChooser_Completed(object sender, TaskEventArgs e)
        {
            switch (e.TaskResult)
            {
                case TaskResult.OK:
                    MessageBox.Show("OK");
                    
                    break;
                case TaskResult.Cancel:
                    MessageBox.Show("No");
                    break;
                case TaskResult.None:
                     MessageBox.Show("No");
                    break;
            }
        }

 源碼獲取 請(qǐng)加QQ群:157153754。

    QQ2014
    (25)QQ2014
    酷炫界面隨心而動(dòng),與眾不同。全新皮膚引擎,輕松上傳美圖作為皮膚,體驗(yàn)屬于自己的視覺(jué)盛宴。專業(yè)高品質(zhì)的界面構(gòu)想,為您帶來(lái)無(wú)與倫比的視覺(jué)享受。下載正式版免費(fèi)下載已經(jīng)免費(fèi)提供給廣大騰訊用戶進(jìn)行下載了,如果你還是在使用,那么你已經(jīng)了,快來(lái)下載正式版來(lái)體驗(yàn)下新版本帶給你的快樂(lè)吧正式版新增劃詞搜索功能,邊聊邊搜更輕松,新增會(huì)員超級(jí)表情功能,聊天更有生動(dòng)有趣。最新版官方下載是在系列版本的基礎(chǔ)上,全新設(shè)計(jì)與定義的...更多>>
    • 騰訊qq2015正式版7.7.16077 官方最

      10-16 / 52.4M

      推薦理由:騰訊這次又爽約了,說(shuō)好的QQ2014呢,好吧,今晚,終于迎來(lái)了傳說(shuō)中的QQ2014,騰訊推送了一個(gè)QQ5.0的首個(gè)體驗(yàn)
    • QQ20168.1.17724.0 官方最新版

      03-27 / 54.0M

      推薦理由:qq2016最新版官方下載,QQ全新設(shè)計(jì)回歸本源設(shè)計(jì),整體風(fēng)格簡(jiǎn)約,讓您的目光停留在您所關(guān)注的內(nèi)容上,大大提
    • 手機(jī)QQ2016 for Androidv6.3.1 官方

      04-09 / 3.1M

      推薦理由:全新的手機(jī)QQ(Android)2014版正式發(fā)布。新版本在保留原有功能基礎(chǔ)上,加入2套趣味表情,并對(duì)UI進(jìn)行簡(jiǎn)化設(shè)計(jì)
    • QQ2016輕聊版3.4.3 官網(wǎng)安卓版

      04-18 / 10.1M

      推薦理由:QQ2014輕聊版是騰訊公司專為低性能手機(jī)打造的精簡(jiǎn)版QQ。保留核心聊天功能,超小安裝包,省內(nèi)存,聊天更暢快
    • qq2015綠色版v8.1.17216 去廣告最新

      01-27 / 66.0M

      推薦理由:騰訊QQ全新設(shè)計(jì)嘗鮮版,在界面上采用了全新的設(shè)計(jì),帶有濃濃的Metro風(fēng)格,整體風(fēng)格更加簡(jiǎn)約扁平化,全新設(shè)計(jì)
    • QQ2014最新體驗(yàn)版6.6.13074 官方安

      11-11 / 55.8M

      推薦理由:騰訊體驗(yàn)中心本次推出的QQ性能體驗(yàn)版3.0,通過(guò)改造基礎(chǔ)架構(gòu)和框架,針對(duì)關(guān)鍵功能深度優(yōu)化,重點(diǎn)提升了啟動(dòng),

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)
    推薦文章

    沒(méi)有數(shù)據(jù)