質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.50%

  • C#

    7128questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • Visual Studio

    1838questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

  • Xamarin

    502questions

    Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

xamarinで効果音を鳴らす際にSoundPoolを使用したが、ソリューションにmp3が現れなく、未定義コンパイルエラー

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 693

dendenmushi

score 25

xamarin
visual studio 2017

効果音を鳴らしたいだけなのですがてこずっております。
短い音であればMediaPlayerよりSoundPoolがよいことなど調べ、以下コード記載をしています。

Interface

    public interface TestInterface
    {
       void Effectplay();
    }

MainPage.xaml.cs

             // DependencyServiceから、オブジェクトを取得する
             TestInterface testInterface = DependencyService.Get<TestInterface>();

             // スキャンと書き込み完了の効果音
             testInterface.Effectplay();

MainActivity.cs

        void TestInterface.Effectplay()
        {
        // 音声データを読み込む
            SoundPool mSoundPool = new SoundPool(8, Stream.Music, 0);
        // リソースID)
            int mSoundId = mSoundPool.Load(Android.App.Application.Context, Resource.Drawable.sample.mp3, 1);

        // 再生
        mSoundPool.Play(mSoundId, 1.0F, 1.0F, 0, 0, 1.0F);
        }

リソースの割り当てとして画像であれば、フォルダに置くだけ(AndroidResourceにビルドアクションをするなどありますが)にもかかわらず、こと音源となるmp3の場合はそれだけでは済まないのはなぜでしょうか。

リソースIDなどを設定しなければいけないと調べているとわかりましたが、かなり手間がかかっています。
参考:
https://teratail.com/questions/48937
http://ytabuchi.hatenablog.com/entry/2017/01/16/170000
https://dev.classmethod.jp/smartphone/android/android-tips-48-soundpool-mediaplayer/
https://teratail.com/questions/48937

そもそもResourcesフォルダにrawフォルダ作成してローカルでsample.mp3を入れましたが、反映されてソリューションエクスプローラーに出てこないのはなぜなのでしょうか。ビルド(ongen.mp3が定義されていないため失敗)や再起動をしても現れません。

なおかつResource.Drawableにsample.mp3の定義がありません。とコンパイルエラーが出ています。

参考サイトなどいろいろ見ているのですが、画面ボタンを押して実行ではなく、cs内でディペンデンシーのメソッド実行という形で実装を考えています。

どうしたらmp3がソリューションエクスプローラに現れ、定義でき、効果音が流れるでしょうか。
よろしくお願い致します。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.50%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • C#

    7128questions

    C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

  • Visual Studio

    1838questions

    Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

  • Xamarin

    502questions

    Xamarin(ザマリン)は、iPhoneなどのiOSやAndroidで動作し、C# 言語を用いてアプリを開発できるクロスプラットフォーム開発環境です。Xamarin Studioと C# 言語を用いて、 iOS と Android の両方の開発を行うことができます。

  • トップ
  • C#に関する質問
  • xamarinで効果音を鳴らす際にSoundPoolを使用したが、ソリューションにmp3が現れなく、未定義コンパイルエラー