Модераторы: Alexeis
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Положить трубу програмно и уменьшить громкость? 
:(
    Опции темы
WaReZMEN
Дата 15.5.2008, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: 2
Всего: 3



как определить номер звонящего я уже знаю а как положить трубку если мне не хочется говорить с этим человеком? и еще как у меньшеть громкость мелодий? ну чтоб сигнал вызова был потише?
PM MAIL ICQ   Вверх
Artemon
Дата 15.5.2008, 13:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 2
Всего: 20



Я знаю как это сделать при помощи C++, если нужно могу показать


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
WaReZMEN
Дата 15.5.2008, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: 2
Всего: 3



Artemon, ну лучше что то чем не чиго smile показывай 
PM MAIL ICQ   Вверх
Artemon
Дата 15.5.2008, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


а ты мне нравишься
***


Профиль
Группа: Завсегдатай
Сообщений: 1771
Регистрация: 24.2.2004
Где: Челябинск

Репутация: 2
Всего: 20



/// Drop current call
 void Drop(HCALL Call)
{
    lineDrop(Call,NULL,0);
    lineDeallocateCall(Call);
}


Вот только как ты из C# HCALL получишь это не понятно.

Вообще  как правильно это делается в твоем контексте:

Создается C++ DLL, в которой регистрируются события звонков,
примерно так:

Код

DWORD InitializeTAPI()
{
    HRESULT res = lineSetAppPriority( L"MobileCenter.exe",
                                    LINEMEDIAMODE_INTERACTIVEVOICE,
                                    NULL,
                                    LINEREQUESTMODE_MAKECALL,
                                    NULL, 1 );

    /*
    DWORD dwLineID,
        dwReturn,
        dwTimeCount = GetTickCount(),
        dwAPIVersion;

    LPHLINE lphLine;
    */

    // Initialize the application's use of Tapi.dll. Keep trying until the
    // user cancels or stops getting LINEERR_REINIT.
    while((dwReturn = lineInitialize(
        &g_hLineApp,
        g_hInst,
        (LINECALLBACK)lineCallbackFunc,
        g_tszTitle,
        &g_dwNumDevs)) == LINEERR_REINIT)
    {
        // Bring up the message box if 5 seconds have passed.
        if (GetTickCount() > 5000 + dwTimeCount)
        {
            break;
        }  
    }

    // If function "lineInitialize" fails, then return.
    if (dwReturn)
        return dwReturn;

    // If there is no device, then return.
    if (g_dwNumDevs == 0)
    {
        return LINEERR_NODEVICE;
    }

    if (!(g_lphLine = lphLine = (LPHLINE)LocalAlloc(LPTR, sizeof(HLINE) * g_dwNumDevs)))
    {
        return LINEERR_NOMEM;
    }

    for (dwLineID = 0; dwLineID < g_dwNumDevs; ++dwLineID)
    {  
        //GetLineInfo (dwLineID, &g_lpLineInfo [dwLineID]);
        if (!lineNegotiateAPIVersion(
            g_hLineApp,              // TAPI registration handle
            dwLineID,                // Line device to be queried
            TAPI_VERSION_1_0,        // Least recent API version 
            TAPI_CURRENT_VERSION,    // Most recent API version 
            &dwAPIVersion,             // Negotiated API version 
            NULL))                   // Must be NULL; the provider specific extension is not supported on Windows CE
        {
            dwReturn = lineOpen (
                g_hLineApp,                 // Usage handle for TAPI
                dwLineID,            // Cannot use the LINEMAPPER value
                lphLine,              // Line handle
                dwAPIVersion,        // API version number
                0,                          // Must set to zero for Windows CE
                0,                          // No data passed back 
                LINECALLPRIVILEGE_OWNER ,  
                LINEMEDIAMODE_INTERACTIVEVOICE,                          // Media mode 
                NULL
                );  

            lphLine++;
        }
    }

    return ERR_NONE;
}


Далее тз C#  передаешь делегаты на ф-ии которые будут вызываться,

и теперь например пришел звонок - у нас в C# коде сработало событие в котром можем делать что хотим со звонком, хоть отрудить его, хоть поставить на удержание.
Но сразу скажу все это довольно сложно.

Добавлено через 3 минуты и 8 секунд
Хотя если в SystemProperty найдется HCALL (либо HANDLE), то можно и обойтись без сложностей с C++ DLL


--------------------
Контроль топлива на топливозаправщиках, мониторинг автотранспорта, расчет зарплаты водителей www.rscat.ru
PM MAIL   Вверх
WaReZMEN
Дата 16.5.2008, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 683
Регистрация: 9.6.2006
Где: Россия, Санкт-Пет ербург

Репутация: 2
Всего: 3



Интерено на c# вообще возможно написать без длл?
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование мобильных устройств"
Alexeis

Раздел посвящен программированию мобильных устройств.

Все остальные вопросы по мобильным устройствам (КПК, смартфоны, телефоны, фотоаппараты и т.п),
не имеющие отношения к программированию, просьба размещать в разделе КПК, смартфоны, мобильники

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Платформы Windows Mobile и Windows Embedded | Следующая тема »


 




[ Время генерации скрипта: 0.1165 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.