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

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

新規登録して質問してみよう
ただいま回答率
85.48%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

1444閲覧

UbuntuのQtのサンプルプログラムのaudiooutputに関連した質問

nqf27650

総合スコア115

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2017/04/26 06:26

サンプルプログラムの QT/Example/Qt-5.5/multimedia/audiooutput をDebugしています。

audiooutoutのデーターの発生期間は下記の添付コードによると思います。
m_generator = new Generator(m_format, DurationSeconds44, ToneSampleRateHz, this);
即ち、上記の引数のDurationSeconds
44=1*44で44秒間と思いますが、
発生を停止する事無く、永久的に音を発生します。

Q1)音声の発生期間を、所定の期間、例えば1秒間に設定する方法はありますか?
注)MSのwaveoutで音声を発生する場合が、バッファー内のデーターを読込
音声を発生します。サンプリングレートが44100Hzの場合は、44100ワードのデーター
で1秒間の音声を発生します。
この件に関して、コメント、ご教授を頂けますと大変有りがたいです。

void AudioTest::initializeAudio(){
connect(m_pushTimer, SIGNAL(timeout()), SLOT(pushTimerExpired()));

m_pullMode = true;

m_format.setSampleRate(DataSampleRateHz);
m_format.setChannelCount(1);
m_format.setSampleSize(16);
m_format.setCodec("audio/pcm");
m_format.setByteOrder(QAudioFormat::LittleEndian);
m_format.setSampleType(QAudioFormat::SignedInt);

QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice());
if (!info.isFormatSupported(m_format)) {
qWarning() << "Default format not supported - trying to use nearest";
m_format = info.nearestFormat(m_format);
}

m_generator = new Generator(m_format, DurationSeconds*44, ToneSampleRateHz, this);

createAudioOutput();
}

以上、宜しくお願いします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

コードをよく検討して、解決しました。

投稿2017/05/06 13:21

nqf27650

総合スコア115

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問