Привет всем !
Есть у меня партзадание написать программу, которая дозвонится, и после поднятия трубки на другой стороне, отошлет тоновые сигналы (DTMF). С програмкой dialer из examples разобрался, а вот как отослать DTMF ? Облазил весь инет, везде только вопросы таких же страждущих, или же жалобы на неработающие, или несуществующие функции API. Кто подтолкнет к пути истинному ? Кто поделится с ближним кусочком кода ?
Re: Как отправить DTMF ? (Nokia 6670, Symbian 7.0s Series60
Здравствуйте, iand, Вы писали:
I>Привет всем ! I>Есть у меня партзадание написать программу, которая дозвонится, и после поднятия трубки на другой стороне, отошлет тоновые сигналы (DTMF). С програмкой dialer из examples разобрался, а вот как отослать DTMF ? Облазил весь инет, везде только вопросы таких же страждущих, или же жалобы на неработающие, или несуществующие функции API. Кто подтолкнет к пути истинному ? Кто поделится с ближним кусочком кода ?
Re[2]: Как отправить DTMF ? (Nokia 6670, Symbian 7.0s Series
От:
Аноним
Дата:
23.03.05 14:56
Оценка:
Здравствуйте, CrystaX, Вы писали:
CX>Здравствуйте, iand, Вы писали:
I>>Привет всем ! I>>Есть у меня партзадание написать программу, которая дозвонится, и после поднятия трубки на другой стороне, отошлет тоновые сигналы (DTMF). С програмкой dialer из examples разобрался, а вот как отослать DTMF ? Облазил весь инет, везде только вопросы таких же страждущих, или же жалобы на неработающие, или несуществующие функции API. Кто подтолкнет к пути истинному ? Кто поделится с ближним кусочком кода ?
CX>здесь
А можно детальнее, пожалуйста ? Из этого SDK UIQ 2.0 взять только help ? Примеры использования есть ? А то я только и вижу то, что описал "Облазил весь инет, везде только вопросы таких же страждущих, или же жалобы на неработающие, или несуществующие функции API".
Re[3]: Как отправить DTMF ? (Nokia 6670, Symbian 7.0s Series
Здравствуйте, <Аноним>, Вы писали:
А>А можно детальнее, пожалуйста ? Из этого SDK UIQ 2.0 взять только help ? Примеры использования есть ? А то я только и вижу то, что описал "Облазил весь инет, везде только вопросы таких же страждущих, или же жалобы на неработающие, или несуществующие функции API".
Help и необходимые заголовочные файлы. Библиотеки же (etelmm.lib) есть и в Series 60 SDK. Вот чуточку детальнее:
Здравствуйте, CrystaX, Вы писали:
CX>Здравствуйте, <Аноним>, Вы писали:
А>>А можно детальнее, пожалуйста ? Из этого SDK UIQ 2.0 взять только help ? Примеры использования есть ? А то я только и вижу то, что описал "Облазил весь инет, везде только вопросы таких же страждущих, или же жалобы на неработающие, или несуществующие функции API".
CX>Help и необходимые заголовочные файлы. Библиотеки же (etelmm.lib) есть и в Series 60 SDK. Вот чуточку детальнее:
CX>
Здравствуйте, CrystaX, Вы писали:
CX>Да, именно все и надо качать. По отдельности не получится. Мои соболезнования.
Достал SDK. Не инсталировал, прошвырнулся по архивам "на скору руку". Доку распаковал, тоже по быстрому глянул.
etelmm.h там нет, есть у меня в SDK 7.0s v.2.1.
Модифицировал пример dialer.
void CDialerAppUi::DialNumberL(const TDesC& aPhoneNumber)
{
//Create a connection to the tel server
RTelServer server;
CleanupClosePushL(server);
User::LeaveIfError(server.Connect());
//Load in the phone device driver
User::LeaveIfError(server.LoadPhoneModule(KTsyName));
//Find the number of phones available from the tel server
TInt numberPhones;
User::LeaveIfError(server.EnumeratePhones(numberPhones));
//Check there are available phonesif (numberPhones < 1)
{
User::Leave(KErrNotFound);
}
//Get info about the first available phone
RTelServer::TPhoneInfo info;
User::LeaveIfError(server.GetPhoneInfo(0, info));
//Use this info to open a connection to the phone, the phone is identified by its name
//RPhone phone;RMobilePhone phone;
CleanupClosePushL(phone);
User::LeaveIfError(phone.Open(server, info.iName));
//Get info about the first line from the phoneRMobilePhone::TLineInfo lineInfo;
User::LeaveIfError(phone.GetLineInfo(0, lineInfo));
//Use this to open a line
RLine line;
CleanupClosePushL(line);
User::LeaveIfError(line.Open(phone, lineInfo.iName));
//Open a new call on this line
TBuf <100> newCallName;
RCall call;
CleanupClosePushL(call);
User::LeaveIfError(call.OpenNewCall(line, newCallName));
//newCallName will now contain the name of the call
User::LeaveIfError(call.Dial(aPhoneNumber));
RCall::TStatus aStatus;
call.GetStatus(aStatus);
if (aStatus == RCall::EStatusConnected)
phone.SendDTMFTones(KPhoneNumberDTMF2);
//Close the phone, line and call connections and remove them from the cleanup stack
//NOTE: This does not hang up the call
CleanupStack::PopAndDestroy(3);//phone, line, call
//Unload the phone device driver
User::LeaveIfError(server.UnloadPhoneModule(KTsyName));
//Close the connection to the tel server and remove it from the cleanup stack
CleanupStack::PopAndDestroy(&server);
Ошибка.
D:\SYMBIAN\7.0S\SERIES60_V21\SERIES60EX\DIALER\SRC\Dialerappui.cpp(146) : error C2039: 'SendDTMFTones' : is not a member of 'RMobilePhone'\Symbian\7.0s\Series60_v21\EPOC32\INCLUDE\etelmm.h(13) : see declaration of 'RMobilePhone'
Re[7]: Как отправить DTMF ? (Nokia 6670, Symbian 7.0s Series
Здравствуйте, iand, Вы писали:
I>Достал SDK. Не инсталировал, прошвырнулся по архивам "на скору руку". Доку распаковал, тоже по быстрому глянул. I>etelmm.h там нет, есть у меня в SDK 7.0s v.2.1.
Тот, что в Series 60 2.1 — сильно урезанный. В нем ничего нужного нет.
I>Модифицировал пример dialer.
[skipped]
I>Ошибка. I>D:\SYMBIAN\7.0S\SERIES60_V21\SERIES60EX\DIALER\SRC\Dialerappui.cpp(146) : error C2039: 'SendDTMFTones' : is not a member of 'RMobilePhone'\Symbian\7.0s\Series60_v21\EPOC32\INCLUDE\etelmm.h(13) : see declaration of 'RMobilePhone'
Правильно. Нет полного определения RMobilePhone. Если посмотришь в header, увидишь строку
class RMobilePhone : public RPhone
{
// cut-down version of this class for compilation consistency
Нужен нормальный etelmm.h, не "cut-down". Вообще-то я вроде его в UIQ 2.0 SDK видел, но видимо нет. В общем, давай мыло, вышлю полную версию.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[8]: Как отправить DTMF ? (Nokia 6670, Symbian 7.0s Series
Здравствуйте, CrystaX, Вы писали:
CX>Нужен нормальный etelmm.h, не "cut-down". Вообще-то я вроде его в UIQ 2.0 SDK видел, но видимо нет. В общем, давай мыло, вышлю полную версию.
Огромное спасибо, что "возишься" со мной
ianpro [вместо уха] gmail.com
А можешь еще свой номер аськи скинуть в письме ?
Re[8]: Как отправить DTMF ? (Nokia 6670, Symbian 7.0s Series
Здравствуйте, CrystaX, Вы писали:
CX>Нужен нормальный etelmm.h, не "cut-down". Вообще-то я вроде его в UIQ 2.0 SDK видел, но видимо нет. В общем, давай мыло, вышлю полную версию.
Опосля добавления правильных файликов (etelmm.h), и после добавления в dialer.mmp строчки LIBRARY etel3rdparty.lib
+ перегенерация makmake dialer.mmp VC6
получаем такое
=================================================
LINK : warning LNK4005: no objects used from library \Symbian\7.0s\Series60_v21\EPOC32\RELEASE\WINS\UDEB\ETEL3RDPARTY.LIB
DIALERAPPUI.obj : error LNK2001: unresolved external symbol "public: void __thiscall RMobilePhone::SendDTMFTones(class TRequestStatus &,class TDesC16 const &)const " (?SendDTMFTones@RMobilePhone@@QBEXAAVTRequestStatus@@ABVTDesC16@@@Z)
DIALERAPPUI.obj : error LNK2001: unresolved external symbol "public: __thiscall RMobilePhone::RMobilePhone(void)" (??0RMobilePhone@@QAE@XZ)
\Symbian\7.0s\Series60_v21\EPOC32\BUILD\SYMBIAN\7.0S\SERIES60_V21\SERIES60EX\DIALER\GROUP\DIALER\WINS\UDEB\DIALER.APP : fatal error LNK1120: 2 unresolved externals
=================================================
Раньше я пробовал c32.lib
Почти то же самое.
Где бы достать подходящую либу для SDK ?
Re[9]: Как отправить DTMF ? (Nokia 6670, Symbian 7.0s Series
Здравствуйте, iand, Вы писали:
I>Опосля добавления правильных файликов (etelmm.h), и после добавления в dialer.mmp строчки I>LIBRARY etel3rdparty.lib
[]
I>Раньше я пробовал c32.lib I>Почти то же самое. I>Где бы достать подходящую либу для SDK ?
Нужно использовать etelmm.lib. Берется в том же UIQ 2.0 SDK.
etel3dparty.lib не нужна.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[9]: Как отправить DTMF ? (Nokia 6670, Symbian 7.0s Series
От:
Аноним
Дата:
21.06.06 06:35
Оценка:
Здравствуйте, iand, Вы писали:
I>Здравствуйте, CrystaX, Вы писали:
CX>>Нужен нормальный etelmm.h, не "cut-down". Вообще-то я вроде его в UIQ 2.0 SDK видел, но видимо нет. В общем, давай мыло, вышлю полную версию.
I>Опосля добавления правильных файликов (etelmm.h), и после добавления в dialer.mmp строчки I>LIBRARY etel3rdparty.lib
I>+ перегенерация makmake dialer.mmp VC6 I>получаем такое I>================================================= I>LINK : warning LNK4005: no objects used from library \Symbian\7.0s\Series60_v21\EPOC32\RELEASE\WINS\UDEB\ETEL3RDPARTY.LIB I>DIALERAPPUI.obj : error LNK2001: unresolved external symbol "public: void __thiscall RMobilePhone::SendDTMFTones(class TRequestStatus &,class TDesC16 const &)const " (?SendDTMFTones@RMobilePhone@@QBEXAAVTRequestStatus@@ABVTDesC16@@@Z) I>DIALERAPPUI.obj : error LNK2001: unresolved external symbol "public: __thiscall RMobilePhone::RMobilePhone(void)" (??0RMobilePhone@@QAE@XZ) I>\Symbian\7.0s\Series60_v21\EPOC32\BUILD\SYMBIAN\7.0S\SERIES60_V21\SERIES60EX\DIALER\GROUP\DIALER\WINS\UDEB\DIALER.APP : fatal error LNK1120: 2 unresolved externals I>=================================================
I>Раньше я пробовал c32.lib I>Почти то же самое. I>Где бы достать подходящую либу для SDK ?
Ну дык вось у вас есть все что бы их послать, достаточно иметь полну версию etelmm.h и нормальный etelmm.lib из под моторолла. И все работает. да кстати, работает только через активный объект.