iPhoneのボイスメモを大音量で聴く方法

May 2,2017 12:55 AM
Category:[iPhone]
Tag:[iPhone]
Permalink

iPhoneのボイスメモを大音量で聴く方法を紹介します。

1.問題点

iPhoneのボイスメモで録音した内容を大きい音量で聴きたいのですが、音量を最大にしてもiPhoneに耳を近づけないと聴こえません。

仲間同士でボイスメモを聞きたいときなど、これでは使い物になりません。

ということで、iPhoneのボイスメモを大音量で聴く方法を紹介します。

2.ボイスメモの録音を大音量で聴く

ボイスメモの録音を大音量で聴くには、保存したボイスメモをタップ。

ボイスメモ

左のアイコンをタップ。

アイコン

「メモに追加」をタップ。

メモに追加

保存画面が表示されるので、追加するテキストもなく、保存先のメモを選択しないのであれば、そのまま「保存」をタップ。

保存

ホーム画面に戻って「メモ」をタップ。

メモ

追加した録音が「1本のオーディオ録音」というサブタイトルで保存されているのでタップ。

1本のオーディオ録音

再生ボタンをタップすれば、ボイスメモより大きい音量で再生されます。

再生

Comments [0] | Trackbacks [0]

Facebookのテキスト投稿に背景色をつける方法

April 28,2017 12:03 AM
Category:[Facebook]
Tag:[Facebook]
Permalink

Facebookのテキスト投稿に背景色をつける方法を紹介します。

Facebookのテキスト投稿に背景色をつける

1.はじめに

Facebookのテキスト投稿はデフォルトの設定ではこのように白の背景です。

Facebookのテキスト投稿

ですが、冒頭のように背景色をつける方法もあります。

ということで、テキスト投稿に背景色をつける方法を紹介します。

ここではPC版の操作方法を説明します。

2.テキスト投稿に背景色をつける

テキスト投稿に背景色をつけるには、投稿フォーム下にある「…」をクリック。

「背景カラー」をクリック。

背景カラー

背景にしたい色をクリック。ここではオレンジを選択します。

背景にしたい色をクリック

テキストエリアに選択した背景色がつき、テキストがセンタリングで入力できるようになります。また選択した背景色のアイコンは白抜きで表示されます。

テキストがセンタリングで入力

任意のテキストを入力して「投稿」をクリック。この状態で背景色を変更することもできます。また白に戻すには一番左のアイコンをクリックします。

投稿

これで背景色のついたテキストが投稿されます。

背景色のついたテキスト

Comments [0] | Trackbacks [0]

C++のoperator new/operator deleteについて

April 25,2017 12:03 AM
Category:[C/C++]
Tag:[C/C++]
Permalink

C++のoperator new/operator deleteについて紹介します。

1.サンプル

まず最初にサンプルをご覧ください。

#include <cstdio>
#include <cstdlib>
 
class Test {
 
private:
 
    int number;
 
public:
 
    Test(int num) {
        number = num;
        std::printf("constructor: %d\n", number);
    }
 
    ~Test() {
        std::printf("destructor\n");
    }
 
    void* operator new(std::size_t sz) {
        std::printf("operator new: %zu\n",sz);
        return std::malloc(sz);
    }
 
    void operator delete(void* ptr) {
        std::printf("operator delete: %p\n", ptr);
        std::free(ptr);
    }
};
 
int main() {
     Test* test = new Test(100);
     delete test;
}

このサンプルを元にoperator new/operator deleteについて紹介します。

2.operator new/operator deleteとは

operator new/operator deleteは、コンストラクタ起動時、特定のエリアからメモリを確保(または解放)するための仕組みです。

通常のコンストラクタは、

  • メモリの割当
  • オブジェクトの構築

という2つの動作を行いますが、operator newはメモリの割り当てを実行します。

サンプルでは下記の部分になります。

void* operator new(std::size_t sz) {
    std::printf("operator new: %zu\n",sz);
    return std::malloc(sz);
}

引数の"size_t"はC++の仕様で決められたもので、オブジェクトのサイズになります。

ユーザーがコンストラクタ起動時にパラメータにサイズを指定する必要はありません(おそらくコンパイラ時にオブジェクトのサイズが分かる)。

また、戻り値の型は"void *"です。

operator deleteは下記の部分です。

void operator delete(void* ptr) {
    std::printf("operator delete: %p\n", ptr);
    std::free(ptr);
}

引数は確保したアドレスになります。こちらもデストラクタ起動時のパラメータに指定する必要はありません。

3.newとoperator newの違い

operator newはnewのオーバーロード(引数や戻り値が異なるが名称が同一のメソッドを複数定義すること)ですが、operator newとnewが存在する場合、順番に起動されることから、個人的には通常のオーバーロードとは動作が異なる気がします。

具体的には、ユーザープログラムがコンストラクタを実行すると、先にoperator newが起動されてメモリ確保等を行い、その後通常のコンストラクタが起動するようになっています。

デストラクタの動作はその逆で、先に通常のデストラクタが起動され、operator deleteが動作してメモリ解放を行います。

サンプルで説明すると、mainに記述した、

Test* test = new Test(100);

が実行されることで、最初に、

void* operator new(std::size_t sz) { ... }

が起動してmallocでメモリを確保し、その後

Test(int num) { ... }

が起動します。

サンプルの実行結果は下記のようになります。

operator new: 4
constructor: 100
address: 0x12a9010
destructor
operator delete

「4」というのは、クラスで定義した変数

int number;

のサイズになります。

4.参考サイト

参考サイトは下記です。ありがとうございました。

Comments [0] | Trackbacks [0]
 1  |  2  |  3  |  4  |  5  | All pages